You have a relatively new PC with your favorite Linux distribution installed. You are content and all is well with the world. Then you discover that your motherboard needs an update to the BIOS to allow some new hardware to work properly with your PC. Alas! Your almost new PC, which has an on-board floppy controller, was shipped with NO FLOPPY DRIVE. The BIOS update procedure, of course, requires a bootable floppy with (Egad!) Windows 98 DOS or higher. What the heck do you do?
I recently ran into just this problem with a ~2 year old Mandriva Linux based PC that my company built for a client. Of course, I have floppy drives I could use temporarily in this PC to update the, unfriendly to Linux, BIOS. But as I was pondering the situation I wondered what would I do if I did not have a floppy drive to use? Then I realized almost every PC made in the last 10 years or so has at least a CD drive from which one may boot a “Live” OS. This PC is no exception as it has a DVD±RW drive installed, actually two of them. One can create a bootable CD with a Windows 98 floppy image and load a BIOS update from a virtual disk created from that same boot.
While I do have a “legal” copy of Windows 98 I do not have that copy of Windows 98 installed anywhere at the moment. Also, my Linux work PC does not even have a floppy controller in it. So, I began to look around the internet for a bootable Windows 98 image and found one at the Boot Disks web site. Then I needed to get the BIOS update utility and the BIOS update image onto that ISO before burning a CD with the Windows 98 ISO image. A little bit of research with my current favorite search engine turned up ISO Master. I checked my Mandriva 2010 packages and there it was, waiting for me to install it:
I installed ISO Master and opened the Windows 98 ISO file with it. I then used the ISO Master file browser to find the BIOS update software I had previously extracted from its “zip” file and dragged those to the file list in the ISO. Using the Save As option from the ISO Master File menu I created a new ISO file with the new files included:
I then created a bootable CD-RW disk from this new ISO using k3b from my fluxbox menus. I used CD-RW so I could update the disk image later as needed and then reuse the CD. I then booted the system needing a BIOS update using the Windows 98 bootable CD-RW disc. The Windows 98 DOS complained about the partitions on the hard drive, but I just ignored that as I already knew it would not “like” the ext3 partitions. The ISO image I chose at Boot Disks creates a RAM disk with the contents from the image in that disk. I switched to that RAM disk, started the BIOS update program with the switches needed to update the BIOS and watched as the update completed successfully.
I then removed the boot CD and rebooted the PC. The motherboard complained of a BIOS checksum error, which was also expected, and asked me to press “F1″ to continue and load the BIOS setup screens. The BIOS settings were back to factory default so I changed the ones that needed changing, mainly the boot order. Then I saved the BIOS settings and rebooted again. No errors this time and the Mandriva 2010 Linux installation booted without a hitch. I checked to see if Mandriva 2010 now saw the new hardware. Yup, there it was.
So, if you find yourself in the same predicament maybe this article will help you get your BIOS update done. A comment to let us know this helped you would be appreciated!
This article has had this many unique views:
| FREE HIT COUNTER |
Notice: All comments here are approved by a moderator before they will show up. Depending on the time of day this can take several hours. Please be patient and only post comments once. Thank you.
Edit Mon Apr 5 11:21:50 CDT 2010: Remove URL to Boot Disks site per Frank’s comment.



on Apr 2nd, 2010 at 10:50 pm
FreeDOS…and the bios programs.BAM#!
Asus has a nice feature on their boards which allows you to update from a usb w/o any OS involvement.
on Apr 3rd, 2010 at 12:00 am
Mr. X (comment #1), thanks for the comment.
Yes, I have an ASUS board in my work PC. Nice boards. As for FreeDOS the BIOS update utility I was using would say one needed Windows 98 to run it when trying to use FreeDOS. No joy there.
on Apr 3rd, 2010 at 1:53 am
[...] Linux: Updating a Linux Unfriendly Motherboard BIOS – The ERACC Web Log blog.eracc.com/2010/04/02/linux-updating-a-linux-unfriendly-motherboard-bios – view page – cached You have a relatively new PC with your favorite Linux distribution installed. You are content and all is well with the world. Then you discover that your motherboard needs an update to the BIOS to allow some new hardware to work properly with your PC. Alas! Your almost new PC, which has an on-board floppy controller, was shipped with NO FLOPPY DRIVE. The BIOS update procedure, of course,… Read moreYou have a relatively new PC with your favorite Linux distribution installed. You are content and all is well with the world. Then you discover that your motherboard needs an update to the BIOS to allow some new hardware to work properly with your PC. Alas! Your almost new PC, which has an on-board floppy controller, was shipped with NO FLOPPY DRIVE. The BIOS update procedure, of course, requires a bootable floppy with (Egad!) Windows 98 DOS or higher. What the heck do you do? View page Filter tweets [...]
on Apr 3rd, 2010 at 9:15 pm
[...] Linux: Updating a Linux Unfriendly Motherboard BIOS [...]
on Apr 4th, 2010 at 5:19 am
Take a look at flashrom - it works for nearly any motherboard.
No need for creating bootdisks etc.
http://flashrom.org/
on Apr 4th, 2010 at 2:56 pm
eliasp (comment #5) thanks for reading.
Someone on a reddit comment about this article mentioned that as well. I have looked at the flashrom site. Impressive work. I will give flashrom a shot on the next BIOS update we need to do here at ERACC, as long as the motherboard is reported to be supported. I don’t plan to be a beta tester.
on Apr 5th, 2010 at 8:47 am
Might I suggest that you NOT put a link up to what is a Copyright infringement? The rest of it is fine- but linking to the bootdisks ISO isn’t legit. It’s not sanctioned by Microsoft and while they’ve not paid attention to the site’s act there, it’s still very much an infringement.
on Apr 5th, 2010 at 9:27 am
You don’t need ISOmaster if you work from the command line. Just run “mkdir tempdir;sudo mount -o loop *.iso tempdir”, and navigate thru tempdir and copy your file(s) to wherever you want. When you’re done, cd out of that tree and run “sudo umount tempdir”. Voila-your ISO has been modified and is ready to burn to disk.
on Apr 5th, 2010 at 10:25 am
This is why I like firmware-tools (http://linux.dell.com/firmware-tools). Most Dell systems can update their BIOS automatically via yum or apt-get without needing to use DOS.
on Apr 5th, 2010 at 10:50 am
Hi,
nice article.
some time ago i wrote a little script (a wrapper basically) to update Dell BIOSes, just in case you need to update a Dell’s BIOS:
http://cga.cx/code/dellbiosupdate/
on Apr 5th, 2010 at 11:19 am
Frank (comment #7) thanks for your comment.
I wasn’t thinking “Copyright infringement!” when I saw that. I was thinking “Whew, glad I found this.” But you are correct. That will be fixed as soon as I post this comment.
on Apr 5th, 2010 at 11:41 am
Roland (comment #8) thanks for reading.
Yes, I know one can use a loop mount to edit ISO files. I have actually done that myself. However, my idea is to write articles that show the GUI way to do get things done for the current crop of average to above average PC users that come to Linux from Microsoft GUI-land. Tools like ISO Master should be showcased for these people. The CLI “magic” is good to know though, so I appreciate your pointing it out.
on Apr 5th, 2010 at 5:48 pm
No need to sacrifice a CD!
Just find out which package provides “memdisk” (for me syslinux), install it, and you will be able to boot a floppy image by putting something like that into your grub 1 menu.lst file:
title biosupdate
root (hdX,Y)
kernel /boot/memdisk
initrd /boot/dos.img
Works beautifully even with a simulated 2.88 MB disk for XXXL updates.
You can create the image by using something like cat /dev/fd0 > dos.img.
Once you have the image you can put the updates in using a loopback mount: “mount /mntpoint /boot/dos.img -o loop”
on Apr 6th, 2010 at 5:09 pm
I have a TFTP server with a FreeDOS floppy image loop mounted. I simply put the BIOS update files in the mounted image and PXE boot the target. In addition to vendor-specific tools I’ve used UniFlash.
on Apr 12th, 2010 at 10:34 am
[...] Usted tiene un ordenador relativamente nuevo con su favorito de distribución de Linux. Usted está contenido y todo está bien con el mundo. Luego de descubrir que su madre necesita una actualización de la BIOS para permitir una cierta nuevo hardware para funcionar correctamente con su PC. ¡Ay! Su casi nuevo equipo, que tiene a bordo un [disquete. . . ] URL del artículo original http://blog.eracc.com/2010/04/02/linux-updating-a-linux-unfriendly-motherboard-bios/ [...]
on Apr 21st, 2010 at 9:33 pm
[...] Você tem um PC relativamente novo com a sua distribuição Linux favorita instalado. Está conteúdo e está tudo bem com o mundo. Então você descobre que sua mãe precisa de uma atualização do BIOS para permitir que algum novo hardware para funcionar corretamente com seu PC. Ai de mim! Seu PC quase novo, que tem a bordo [disquete. . . ] URL do artigo original http://blog.eracc.com/2010/04/02/linux-updating-a-linux-unfriendly-motherboard-bios/ [...]