Flashing BIOSes
Flashing BIOSes has become often quite complex as both DOS and floppies are fading away. Things aren't any easier when running exclusively GNU/Linux. Luckily, it is possible to create with GNU/Linux a bootable CD-ROM which enables one to actually flash a BIOS using a DOS utility without requiring Windows, MS-DOS or a floppy drive.
First or all, download this FreeDOS fdboot.img.bz2 compressed boot floppy image. Assuming you have your flash utility FLASH.EXE and BIOS image BIOS.IMG in your current directory, just execute these commands :
- bunzip2 -c fdboot.img.bz2 > fdboot.img
- mount -o loop -t msdos fdboot.img /mnt/floppy
- cp -a FLASH.EXE BIOS.IMG /mnt/floppy/
- umount /mnt/floppy
- mkdir -p cdrom/boot
- mv fdboot.img cdrom/boot/boot.img
- mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso cdrom/
- cdrecord blank=fast
- cdrecord -dao -eject -v bootcd.iso
The last couple of lines assume you had a CD-RW media and wanted to blank it. You can now use the newly created CD to boot and get to a DOS prompt from where you can execute the utility. I've done this successfully on a Dell Inspiron 8600 laptop, as well as on an older Pentium III based desktop with an ASUS motherboard which has no floppy drive.
Obviously, if you do have a floppy drive, you can just use "dd if=fdboot.img of=/dev/fd0" once you've copied the utility to the floppy image.
Some vendors offer their BIOS updates as Windows self-extracting archives, although they only contain a DOS utility (I know IBM does this for some xSeries BIOSes). I've already used wine successfully to extract such archives, and sometimes it's even easier, as the .EXE file is in fact just a self-extracting Zip archive which the "unzip" command can extract files from directly.
The only case where you're stuck is if the BIOS flash utility is an actual graphical Windows program, as wine might not have all the hooks to properly access the hardware to flash. If this is the case, contact the hardware vendor you got the update from...