We have a pile of HP 8530p laptops for the Trusted Infrastructure Workshop, which need to have their BIOS updated. The motivation for this is that BIOS versions before F.0E run the risk of getting the laptop stuck in an infinite loop of reboots upon invoking the GETSEC[SENTER] instruction, rendering it useless. We’ve actually warrantied two of them because of this issue.
Anyways, HP makes the BIOS update available in several formats, including and ISO and a self-extracting EXE. Grab whichever one you want. Mount the ISO or extract the EXE (worked fine using wine in linux for me). You are looking for the files EROMPAQ.EXE and 68PDV.BIN. These two files are the key to updating the BIOS. Everything else is just a fancy way to get running in a suitable DOS environment so that they can be invoked.
The goal here is to do some kind of PXE boot that will bring up a DOS environment where the BIOS update can be performed.
A simple way of PXE booting into FreeDOS good for doing manual updates is described here, but I found a more sophisticated environment that includes ‘wget’ support in this thread. Basically, they’ve already put together a FreeDOS environment that creates a 16MB RAMDISK and then uses wget.exe to pull down the appropriate files (chosen from the PXE menu). They were even able to automatically invoke the BIOS update and a reboot, although on my systems one must enter a password to perform the update.
It worked beautifully, especially given that I have an FAI server (see my previous post) all set up as a TFTP host.