Wow, I can’t believe I still have to do this in 2007 — Taiwan really needs to discover FreeDOS! Here’s how to run a DOS BIOS update on a PC without using Windows (in my case, it’s a Dell laptop).
Grab the FreeDOS “ripcord” boot floppy image from the FreeDOS RipCord Bootdisk page — the 2.88MB version: FDSTD.288.gz (that link’s a local mirror).
Grab the BIOS updater app from your PC vendor’s site. In my case, I used ME051A10.EXE, a BIOS update from Dell.
Run:
gunzip FDSTD.288.gz sudo mount -t msdos -o loop `pwd`/FDSTD.288 /tmp/bootiso
- ensure there’s enough space, and copy the app into the disk image:
df /tmp/bootiso sudo cp ME051A10.EXE /tmp/bootiso
- Then make an ISO, using mkisofs’ “-b” option to ensure it’s bootable:
mkdir /tmp/floppycopy cp -Rp /tmp/bootiso/* /tmp/floppycopy cp -p FDSTD.288 /tmp/floppycopy mkisofs -pad -b FDSTD.288 -R -o /tmp/cd.iso /tmp/floppycopy
- And burn it:
sudo umount /tmp/bootiso sudo cdrecord dev=0,0,0 -pad -v -eject /tmp/cd.iso
- Now, take the burned CDROM, and boot it.
Answer “N” to all questions when booting, otherwise you’re likely to see an error like “Cannot operate in Protected environment” when you run the BIOS update.
Thanks to the Motherboard Flash Boot CD from Linux Mini HOWTO; very helpful. I hope the next time I have to do this, they just issue a bootable ISO image instead…
Update, Sep 2013:
Wayno Guerrini emailed to say: ‘I used your recipe to update the bios on a old Dell Dimension 8400. Worked like a champ, with a couple of modifications. I am running 64 bit debian wheezy.
apparently the mkisofs has been replaced by genisoimage. Syntax the same.
instead of cdrecord I had to use wodim: sudo wodim dev=/dev/sg1 -pad -v -eject /tmp/cd.iso
Thank you. Recipe worked very well. I will point people to this article, but add the changes as appropriate to my website.’