[mdlug] Tip: Creating BIOS updates for old systems from exe files
Aaron Kulkis
akulkis3 at hotpop.com
Sun Sep 23 16:56:15 EDT 2007
Jeff Hanson wrote:
> I just had fun trying to update a IBM PC300GL BIOS from an executable
> package file. Took a while to find a solution and I figured that
> posting it would help someone else save some time.
>
> Most BIOS and other firmware updates are DOS-based and require booting
> from a floppy created for or by the update install package. There are
> two common types - floppy "contents" and floppy "image".
>
> The "contents" types require a formatted floppy and simply dump a DOS
> variant, firmware updater, and firmware file to the floppy. These can
> usually be easily extracted using any archive utility or command-line
> versions of unrar, unace, or unzip. You just dump them to a formatted
> floppy and boot it.
>
> The "image" types have a floppy image and usually rawwrite or some
> other utility to write to the floppy disc. The image contains the OS,
> updater, and firmware. The image can be written to a floppy with dd
> or the included disk writer from within a DOS emulator. They do not
> require a formatted floppy since the image includes the disc
> structure.
>
> Unfortunately, the PC300GL update is image-based and uses a
> proprietary self-extracting executable with EULA and all that nonsense
> that did not work with a DOS emulator. I think the app is based on
> Teledisk. In this case, I used the FreeDOS LiveCD. I booted the CD
> and selected the LiveCD + Himem option (the option with EMM386 would
> hang). When it boots, A: is the El-Torito boot image, B: is the real
> floppy drive, X: is the mounted FreeDOS CD, and Z: is a RAM drive. I
> copied the executable to a floppy then copied it to Z: in FreeDOS. I
> then put a blank floppy in B: and ran the app from Z: which created
> the BIOS update disk on B: without a problem. I then booted the
> floppy and updated the PC. Of course I'm going to make a dd image of
> the floppy so I don't have to go through this hassle again.
You would think that they would just create a bootable CD that
starts a system monitor, auto-runs the BIOS update, and thus
avoids ALL of the O/S-level nonsense...and it's a heck of
all of the OS-related nonsense.. The whole process of updating
a BIOS really requires no more than a system monitor -- not
an OS. The OS doesn't know anything about the details of how
to update a BIOS...and shouldn't. And after updating a BIOS,
you don't want to keep the OS running anyways...so, as long as
the system needs to be rebooted anyways, the BIOS update SHOULD
just be done between reboots.
I honestly don't understand the decisions made by some people
in this industry ....
> Theoretically I could have set up networking in FreeDOS but it's
> difficult, especially when using the LiveCD.
More information about the mdlug
mailing list