
Some hardware firmware updates need a DOS environment for executing the flash tools. There are free DOS versions available to accomplish this task easily.
There are many howtos available on the net providing different solutions to the mentioned task – however, no one of these fitted my needs because most of them were too complicated, were only suitable for small flash files or only for specific mainboards or hardware components.
To solve such problems in a general way all you need is an empty CD-R (you need only one, you can use it over and over again even for different firmware updates) and a USB Mass Storage device like an USB stick.
In a first step burn the FreeDos.org image “fdfullcd” onto the CD-R and download (and maybe unpack, etc.) the flash files and utilities you get from the hardware vendor onto the USB stick. Next, plug in the USB stick and put the CD-R into the CD drive, reboot the system (note: the USB stick must be connected during the freedos boot) and boot into FreeDos.
Make sure that you start the Live CD (and not the installation routine) and wait until the boot finishes.
Now you see a typical DOS command line. You can navigate around with the usual commands. The USB stick was, in my case, “mounted” at C:, the hard disk was at Z:. Change the working directory to the USB stick, and execute the flash utility. You update should run now.
The advantage is, as previously mentioned, that you can re-use the CD many times – you just have to alter the flash/firmware software on your USB disk. This is superior to all howtos where you have to burn dedicated CDs, I think. Also you don’t have to create boot CDs on your own, which can be a hassle as well.
Attention: if anything fails: don’t blame me! Whenever you make a bios update or similar things you do it on your own risk!
Anyway, my problem wasn’t solved: I have some retarded version of AMI bios with almost no configuration options at all – the result is that I cannot change or alter any wake up times, and therefore cannot program my computer to wake up at a specific time. I would benefit from a stable Linux BIOS but that’s far too risky on my productive machine.

May 21, 2007 at 12:20
really nice thingy
But why using a CD-R? I’d prefer to use the usb stick to boot up the DOS.
…even if it’s only a single CD-R for the rest of my life
May 21, 2007 at 23:56
There is hardly any computer around which cannot boot from CD, but some might not boot from USB stick.
Also, burning a CD is easier than writing an image to the usb stick (although it is still quite easy).
Feel free to write a howto about the same procedure with an USB stick, would be nice
June 4, 2007 at 2:08
[...] Howto: Update BIOS/firmwares on Linux [...]
June 8, 2007 at 12:05
More detailed instructions here.
June 8, 2007 at 13:50
Anonymous: that link is *not* helpful because it first does not reveal any new information and second only delivers a solution as long as the flash data are small enough to be copied over to a floppy disk – which is often not the case in these days.
July 30, 2007 at 19:11
[...] http://liquidat.wordpress.com/2007/05/20/howto-update-bios-on-linux/ [...]
November 9, 2007 at 17:40
I’ve actually had the ‘opportunity’ to witness a computer that cannot boot from certain CD’s. It’s an old AOpen that had Ubuntu installed on it. My customer obtained it from a business and wanted *shiver* XP installed on it. So I needed to update the BIOS so that it would boot from the XP CD. All-in-all I have to thank you for this bit of information. I never would’ve been able to install the OS without finding this information about the freedos.org LiveCD. While I HOPE that I won’t run into any more 8+ year old systems that have never had a BIOS update, this will be permanently added to my toolkit ^_^
November 9, 2007 at 18:02
R.H.: Nice to hear that it helped you
January 24, 2008 at 21:37
Thanks for the how to! I have one problem though, my usb stick is not mounted although it’s sticked in all the time. I tried going through all the letters to find if it was mounted somewhere else but no luck… Do you have any ideas what I could do?
Thanks!
January 24, 2008 at 22:06
A new problem. I made my swap partition temporarily a fat32 one and copied the .exe there. Only to get a message “This program cannot be run in dos mode”. Does this mean I really have to have windows installed on the machine? I’d rather not get a new harddrive for my laptop just to flash the bios.
January 25, 2008 at 14:23
A.H., if the stick is not mounted you should check back with the FreeDos guys what to do next. I never had that problem.
About the new problem, it does sound like you need Windows, yes. You should write your hardware guys how much they suck
January 27, 2008 at 21:42
It’s silly how much work it can be to do a bios update. First I had to copy 160GB of data to my external harddrive, install windows, flash the bios, and then copy all the data back again. Anyways, now it’s done and I hope my computer is better than ever
!
Thanks for this howto though! I hope next time I can actually use it.
March 30, 2008 at 0:22
Thx for your How2,
it has saved my weekend.
If you can boot from USB you better go by that;
wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz
tar xzf FDOEM.144.gz
dd if=FDOEM.14 of=/dev/$USB #!!!Will delete all files on $USB
Mount usb, (deplug, plugin)
unzip *BIOS_Dos ; cp *BIOS_Dos/* $USB
Umount usb ! umount /dev/$USB.
Reboot, start from usb, A:> flash… (start flash tool from your manufacturer ).
MKN
July 23, 2008 at 21:25
Unfortunately this doesn’t work in some cases.
For instance: A mainboard that can’t boot from ISOLINUX.
Then FreeDOS (that uses ISOLINUX) cannot boot, so it is not able to flash ANY of those boards.
So i guess a SYSLINUX booting FreeDOS is needed here instead of ISOLINUX?
October 23, 2008 at 20:56
You might want to have a look at flashrom, a GPL’d Linux utility for flashing BIOS ROM chips. No more messing around with CDROMs, DOS, floppies etc. etc.
http://www.coreboot.org/Flashrom
Uwe.
November 13, 2008 at 17:39
Good article, you may have to enable legacy DOS support for USB in the BIOS if your USB device doesn’t show, I know the option is available in some BIOS’s.