BIOS Update

I’ve been working on a project to turn an old computer into a file server for backup purposes. The plan is to eventually run a script from my laptop which will start the server up and backup all my pictures, movies, music, etc. to the server. One of the hiccups I have run into is trying to figure out if my old Compaq Presario 7PL295 supports wake-on-lan.

Apparently, wake-on-lan is a BIOS setting, but what with my BIOS being so old, I didn’t find the option anywhere. So I went to the HP Customer Care website to see if they had any updates available. I found 3 updates, or ROMPaq’s as they call them. One of them (sp18768, released 2001-11-30) mentioned something about “Added support to show F12 Network boot message” which led me to believe that wake-on-lan was an option. After a bit a blundering, which I’ll go into at greater detail, I eventually installed the ROMPaq, unfortunately without any desired results. The “F12 network boot message” didn’t exist.

I’ve never performed a ROM firmware update before, so I have no idea whether the updates should be applied cumulatively in order. So that’s what I’ll try next, but allow me to document the steps I took to install my first firmware update. First let me explain a little of the situation.

My laptop is a MacBook Pro and therefore has no disk drive. The only way these ROMPaqs work is through a floppy disk. I’ve installed Ubuntu Linux on my Compaq and I don’t have any floppy diskettes anymore. I haven’t used one for years! So the question was, how to run a Windows executable to write to a non-existent floppy disk to update my Compaq’s BIOS?

On my Mac, I opened terminal and entered the following command:

dd bs=512 count=2880 if=/dev/zero of=floppy.img

This creates a image for a blank, unformatted floppy disk. From here I cheated and used VMWare to load Windows XP. I mapped the floppy image in VMWare, formatted the disk and then ran the SoftPaq executable. It placed the ROMPaq on the disk. Magic! But the problem at this point was how to get my virtual disk to load on my non-virtual computer.

I figured there had to be some way to burn the image to CD. After a bit of googling, I found a great article by Mark Alexander, I believe, which details how to do just that.

Using his instructions, I performed the following:

1.) I mounted the floppy image:

hdid floppy.img

2.) I created a temporary folder and copied the contents of the floppy disk to it:

mkdir tmp
cp -Rp /Volumes/<volume name>/* tmp/
cp -p floppy.img tmp/

3.) I created an ISO image using mkisofs. (Since I have a  Mac, I had to install mkisofs through Fink in order to get this one to work.)

mkisofs -pad -b floppy.img -R -o cd.iso tmp

4.) I burned the new ISO to a CD with Disk Utility.

5.) I placed the newly burned floppy disk qua CD into the tray and installed the firmware update.

This actually took me several attempts with several CD’s being burnt up in the process. But I finally got the process down pat. Now I just have to see what happens when I install the rest of the updates.

By the way, I would recommend using CD-RW’s as the medium and leaving the ISO’s on your computer (they’re only a couple megabytes). Especially if you’re applying multiple ROM updates like I am. That way you don’t have to burn up so many CD’s.