Create a Bootable USB Drive with Ubuntu and FreeDOS
Sometimes you just need a DOS boot disk. Many motherboard manufacturers and computer companies only provide DOS based BIOS update utilities. A further challenge is that many computers no longer have floppy disk drives. The solution is to create a bootable USB drive that boots to FreeDOS. The beauty of this method is that you can create a DOS boot drive using only free software.
(Note: If you're looking for a way to make a bootable DOS flash drive in Windows, see: Create a Bootable FreeDOS USB Drive on Windows.)
I figured this out by reading the Gentoo Wiki and adjusted the instructions to work with Ubuntu 9.04.
First off insert the USB drive into one of your USB ports. The following steps will wipe out all of your files, so backup anything you want to keep.
Open GParted through System->Administration->Partition Editor.
Select the USB drive in the upper right corner. Make note of the device name. You'll need this later. In my case it's /dev/sdc.
Select the device in the lower portion of the window. Right click and select Unmount.
Select the device again and format it to FAT16 with Partition->Format to->fat 16. Click Apply to do the formatting.
Select the partition and go to Partition->Manage Flags and make sure that the device is marked as bootable.
Your screen should look something like this now.
Close Gparted.
Open Nautilus and select your flash drive to mount it.
Download the FreeDOS image from http://odin.fdos.org/odin2005/odin1440.img and save it to the flash drive.
Create a folder called grub on your usb disk and then copy all of the files from /usr/lib/grub/i386-pc to your new grub folder. The i386-pc part is architecture specific, so this may be different for your computer.
Also copy /usr/lib/syslinux/memdisk to the root of your USB drive.
Paste the following text into a text editor and save it as /media/disk/grub/menu.lst.
default=0 timeout=10 root=(hd0,0) title FreeDOS kernel /memdisk initrd /odin1440.img
Now we need to install grub to the USB drive. Open a terminal and enter the following:
Note: make sure to substitute your device name from the Partition Editor for /dev/sdc.
cd /media/disk sudo grub grub> device (hd5) /dev/sdc grub> root (hd5,0) grub> setup (hd5) grub> quit
As the Gentoo page mentioned, you may get a few non-fatal errors that you can ignore.
That's it. You can now copy your BIOS flash files to the USB drive and reboot your computer. Don't forget to set your computer's BIOS to boot to USB.
NOTE: As mentioned in the comments, it's easier to create a bootable FreeDOS USB drive with UNetbootin.










Thank you for this! This is just what I needed.
However, I don't really know how to use this. Where do I have to put, say, a bios file and a bios installer (dos) utility?
I've tried to put in straight on my usb key (root of it) but couldn't tell how to find them once I booted with the key. I'm stock in A:\ with the basic .exe dos program?
Hehe... thank you!
Sorry, I should have mentioned in the post that your USB stick will show up as the C: drive when you boot to it. Just enter c:\ at the prompt and you'll be at the root of your flash drive.
Overall it works great. I just flashed the BIOS on my MSI Wind with this.
Why not just use unetbootin to get FreeDOS on a USB stick? It's much easier with the same end result.
It looks like UNetbootin requires a larger USB stick.
This did not work for me. For a detailed walkthrough, see my post at http://raywoodcockslatest.blogspot.com/2009/08/trying-to-use-freedos-usb-drive-to.html
@Ray - I looked through your post. I should have perhaps stated things more clearly. In your grub commands you should have used
grub> device (hd5) /dev/sdd1
based on the device you had in GParted.
I'll edit my post to make it more clear.
Will this work on Ubuntu 9.10?
Thank you, spcwingo
Worked from Fedora 12 (x86_64) although I had to create
/media/disk/grub/grub.conf
with the contents of mentioned
/media/disk/grub/menu.lst
for it to actually boot FreeDOS.