A simple method on Linux to upgrade HDD and motherboard firmware where the firmware upgrade is distributed as a DOS executable.

Create a boot image

Grab the fdboot.img from Freedos, then:

sudo mount -o loop fdboot.img /mnt/some-dir # mount as a loopback device

sudo cp FIRMWARE.EXE /mnt/some-dir/  # Copy the necessary executable to /mnt/some-dir/
sudo umount /mnt/some-dir  #  unmount image
sudo dd if=fdboot.img of=/dev/sdX  # copy to USB stick /dev/sdX