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.



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.
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.
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”
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.
[...] 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/ [...]
[...] 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/ [...]