freedos netboot

The master plan’s reason was that I have some boxes in Moscow and in the country, and their BIOS and SAS/SCSI/lofasz controller firmware update was timely.

The master plan was to get freedos booting via pxeboot from a local gateway – or bring up its interface via a bridged openvpn to my notebook in a very perverse way -, then provide an environment containing the flasher tools, the firmware images, and so on.

The master plan succeeded.

Creating a PXE environment was an easy job, install a dhcp3-server and a tftpd. Add a similar entry into your dhcpd.conf:

host shg2pxe {
hardware ethernet 00:02:b3:51:15:82;
fixed-address 10.1.1.100;
next-server 10.1.1.254;
filename “pxelinux.0″;
}

hardware ethernet is self explanatory, fixed-address also, next-server is the IP address of your TFTP server, filename is the PXE stage 1 loader, which you have to put into your tftpboot directory (/tftpboot or /var/lib/tftpboot in most of the cases, I will use the first one now.)

Then put memdisk and freedos.img into /tftpboot , and create a /tftpboot/pxelinux.cfg/default with this content:

DEFAULT freedos
LABEL freedos
kernel /memdisk
append initrd=/freedos.img

The freedos.img is a gzipped VFAT image, into which you can add files (flasher tools, firmware images, just as the original idea required) after gunzipping and mounting it with:

mount -o loop /tmp/freedos.img /mnt

Don’t forget that this is currently a 1.44Mb floppy image, so you have to fit in that. Also don’t forget to gzip it after playing around with it.

You can create an autoexec.bat on the disk image also, to run the flasher tool immediately after boot, and also add some kind of a reboot tool, to allow the box to boot up after the update.

Pinky: What are we going to do tomorrow night, Brain?
Brain: The same thing we do every night, Pinky.
Pinky: What’s that?
Brain: …I have no idea.
Pinky: Poit.
Brain: Narf.

Leave a Reply