Saw this on the HDAPS mailing list a few days ago. How to make a DOS boot disk without using “the other OS,” because you’re a linux user, but need to upgrade firmware with projects that only run on dos (original post):

Subject: [Hdaps-devel] Updating hard disk firmware (Was: Re: Head parking)

Martin Knoblauch wrote:
> Download is simple, just don’t use the “IBM Download Manager”. Main
> problem is that one needs a bootable floopy drive and “the other OS” to
> create a bootable floppy. It would be great if IBM could provide floppy
> images for use with “dd” for the poor Linux users.

You may be able to use this process to avoid using either a floppy drive
or “the other OS”:

1) Download the appropriate firmware exe from
http://www-306.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-41008
(in my case, this looks like fwhd3313.exe)

2) Find a freedos disk image (I used one that came with biosdisk -
http://linux.dell.com/biosdisk/)

3) Create a disk image for the firmware executable:
cp /usr/share/biosdisk/dosdisk.img /tmp/fwdisk1.img
mount -oloop /tmp/fwtemp.img /mnt/tmp
cp fwhd3313.exe /mnt/tmp
umount /mnt/tmp

4) Create a blank disk image for the extracted contents:
dd if=/dev/zero of=/boot/fwdisk.img bs=1474560 count=1

5) Run qemu to extract files and write the disk image:
qemu -fda /tmp/fwtemp.img -fdb /boot/fwdisk.img
A:\>fwhd3313

exit qemu

6) Set up grub to boot the new disk image (requires memdisk from
syslinux - http://syslinux.zytor.com/):
$EDITOR /boot/grub/grub.conf
title IBM Hard Drive Firmware update
kernel /memdisk
initrd=/fwdisk.img floppy

7) Reboot and select the “IBM Hard Drive Firmware update” option

It allowed me to run the firmware update program, however it didn’t
believe my drive needed updating, so I haven’t even successfully tried
the entire process. Please let me know if it works for you.

DISCLAIMER: I also provide no guarantees. Hopefully your hard disk
won’t fly off the spindle or anything else bad. If it does, blame
someone else.

Frank
- —
Frank Sorenson - KD7TZK
Systems Manager, Computer Science Department
Brigham Young University