Running floppy-based BIOS upgrades without a floppy drive
Occasionally, something on one of my servers needs to be updated via a bootable floppy. The last time this was to update the BIOS on a replacement motherboard for a dual Opteron server. The only hitch was that there was no floppy drive on this box (which is becoming quite popular.) Here is how I built a bootable CD to run the BIOS upgrade on a computer that normally runs FreeBSD.
You will need another computer that has a floppy drive on it, most likely one that runs Windows, and another that runs some variant of unix.
If the upgrade utility is designed to build its own bootable floppy, it is easy. Just run the program that makes the floppy on your windows box, then use that in the following steps as the bootable image. If, however, the utility is just a DOS executable, then you need to find a bootable floppy disk that can read your CD-ROM drive. I happen to have just such a floppy from Dell’s technical support, called CDENABv2. If you dig around their ftp site, you’ll probably find it; they don’t make it available via their support web site.
First step is to take your bootable floppy disk and make a disk image of it. Stick it in a unix box with a floppy drive and issue this command:
dd if=/dev/fd0 of=dosboot.flp bs=512
This creates the image of your floppy in a file called
dosboot.flp
. I keep this file around in case I need it again. The
above works on FreeBSD. On other systems you may need to adjust the
device name for the floppy drive device.
Now it is just a matter of copying files into a directory:
-
mkdir foo
-
copy files into
foo
that you need (not needed if your utility is self-booting) -
copy
dosboot.flp
(or whatever your boot floppy image name is) intofoo
-
touch foo/boot.catalog
-
mkisofs -v -o cdrom.iso -b dosboot.flp foo
-
burn the
cdrom.iso
file to a CD using whatever burning tool you have
When you boot the resulting disk, select the appropriate CD driver
(most likely the pre-selected choice will be right.) At the A:
prompt, type R:
and then run the program you want. If your utility
was the bootable floppy itself, then it should just launch right into
the program you need.