Monday, October 18, 2010

BIOS upgrades on modern hardware - with Linux

Back in the mid-90s, upgrading your BIOS meant create a boot floppy, copy your BIOS util and image to it, boot from it, run the BIOS util. 

Now days no one uses floppies.  Well almost no one.  I see no legitimate use for them on modern hardware (and OS) except for weird/scary boot and BIOS issues.

I recently tried to boot my 3 year old Gigabyte P35-S3L motherboard off of a USB flash containing Ubuntu 10.10.  Unfortunately, the BIOS is not booting from USB Flash.  This got me thinking, have I ever upgraded the BIOS?  My version is F2, the newest is F8.  So I went down that route...

First, you download some XXXX.exe file from Gigabyte's website.  Great if you no what to do with such a thing.  My Gigabyte motherboard has a Q-Flash utility built into the current BIOS, so I can flash it without booting off any media.

On my notebook:
sudo apt-get install p7zip-full
mkdir bios
cd bios
mv ../motherboard_bios_ga-p35-s3l_f8.exe .
7z x motherboard_bios_ga-p35-s3l_f8.exels -l
total 1600
-rw-r--r-- 1 scott scott      18 2009-06-21 20:13 autoexec.bat
-rw-r--r-- 1 scott scott   26351 2008-08-28 01:16 FLASHSPI.EXE
-rw-r--r-- 1 scott scott  554366 2010-10-18 13:00 motherboard_bios_ga-p35-s3l_f8.exe
-rw-r--r-- 1 scott scott 1048576 2009-06-19 04:00 P35S3L.F8

At this point, I had the image file P35S3L.F8.  It needs to get to my workstation and have Q-Flash work on it.  Looking at Q-Flash (hit the End key during boot), it will read floppies and hard drives. (I'm sure only formated FAT)  I have no Floppy drive in my workstation, so I found my USB Floppy drive.  You are probably thinking, but... it's USB, will the HW do the proper rerouting?  I had confidence from prior recovery of BIOS using a USB Floppy.

A little wierd but:
sudo ln -s /dev/sdb /dev/fd0
mformat a:
mcopy P35S3L.F8 a:
(I checked to make sure I could read it and did a diff of the original)

Booted into Q-Flash, and now it showed a Floppy B where it only showed Floppy A before. Selected it, chose my image file..  and Click click click...  away we go.

I still can't boot off USB Flash, but I do have a new BIOS.