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