Archives

Categories

Updating BIOS on an Intel board without Windows

I have swapped out a Q8200 processor for a Q8400 processor in my home server, so I can play with KVM.  This means a BIOS update to give me the enable/disable option for Intel Virtualization [sic] Technology.  Now I’ve updated many a BIOS in my time, so it didn’t even occur to me that it might be anything other than trivial.

I hopped on Intel’s site and went to the downloads for the board.  Windows executable, raw BIOS file for a BIOS recovery function my board doesn’t even have or “OEM kit” with the BIOS file and a DOS flash utility.  Here’s where the fun starts.  The machine doesn’t have a floppy drive and didn’t (until today) have a CD/DVD drive either.  I have previously booted this machine from a ‘live’ CentOS 5 USB stick.

So, I installed an IDE CD/DVD writer while I was in the case swapping CPUs.  This shoudl make it really easy, right?  Wrong.

First, I used CD Burner XP and a downloaded FreeDOS image to make a bootable CD with an emulated 2.88MB A: floppy and the flash imaging tool on C:, which would be the CD-ROM.  This didn’t even boot FreeDOS, it just did nothing.

Next I tried my CentOS USB stick, and hacked the syslinux boot menu to add a new FreeDOS item, using memdisk as kernel and a 1.44MB FreeDOS image as the initrd.  This gave me a working FreeDOS environment with C: on the USB stick.  Great!  So, I added the Intel flash tools and booted it up.  The Intel flash tool loaded, let me pick the BIOS image and then promptly told me the update had failed.  Trying to run the flash utility a second time hung the box.

Back to CD, this time with a CD-RW so I’m not making coasters.  I used InfraRecorder to make a bootable CD with the FreeDOS image that booted fine fron syslinux.  I added the flash utility and burnt the CD.  This started to boot FreeDOS but then threw an “Invalid Opcode” error and hung.

I thought I’d try a ‘real’ MS-DOS 6.22 and found one on  bootdisk.com, which turned out to be a Windows executable that requires a floppy disk.

I found the flashrom project, which looks great, but no record of my board on the site, and this is just flashing a BIOS – surely it can be done simply?

Well, it can, sort of.  I went back to my trusty USB CentOS and downloaded the FreeDOS diskette image that had worked previously.  I mounted it up on a loopback and removed anything not needed to boot FreeDOS to make space for the Intel utility and BIOS file, which I then copied in.  I unmounted the floppy image, used mkisofs to make a bootable .iso image and used cdrecord to blank my CD-RW and burn the image to it.

Success!  A bootable FreeDOS CD, and a working flash utility!  All it took was buying a CD/DVD drive, having available a USB stick, a CentOS Live CD image, the Fedora Live USB creator, a FreeDOS image, the Intel FLASH files and several hours trying various combinations until one worked.

Intel used to also supply .iso file downloads once upon a time, so you could just download, burn and boot.  What happened to that?

Intel people – if you’re going to only provide a ‘bare’ DOS flasher and a Windows application, and make life more difficult for non-Windows or DOS users, can I ask that you please, please give a little bit of software engineering time to help the flashrom team get more Intel flash updates supported, to make your boards more attractive to Linux users.  Please?

  • Share/Bookmark

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>