From Wikibooks, open books for an open world
Jump to navigation Jump to search
FreeDOS running on QEMU under Linux

FreeDOS is a great way to bring all of those old, much-loved and hard to replace programs from the DOS world back to life under a modern operating system. Using FreeDOS, graphical programs that won't run under Microsoft Windows, Wine or DOSBox might just run flawlessly under QEMU.

Download one of the bootable CD images from the FreeDOS distribution. The FreeDOS 1.2 "standard" CDROM image should work on most computers and PC emulators. FreeDOS 1.2 was released 25 December, 2016.

Creating an image[edit | edit source]

To make it possible to exchange files with FreeDOS by copying files to and from the image, don't create the image as qcow. Instead, just create raw images. This will allow the FreeDOS image to be mounted under Linux and other Unix-like hosts just like a regular hard drive. Create a 100 MiB hard disk image named freedos.img:

qemu-img create -f raw freedos.img 100M

Now boot up FreeDOS from the CD image (FD12CD.iso) and follow the menus to partition, format and install onto the hard drive.

qemu -rtc base=localtime -hda freedos.img -cdrom FD12CD.iso -boot d

Once the install is complete, you can boot FreeDOS from the image file without the CD.

qemu -rtc base=localtime -hda freedos.img

To transfer files between FreeDOS and the host, stop QEMU and mount the FreeDOS image under the filesystem.

mkdir -p /mnt/freedos
mount -t msdos -o loop,offset=32256 freedos.img /mnt/freedos
cp oldgames /mnt/freedos
umount /mnt/freedos

Reminder: never mount the image while QEMU is using it and remember to unmount it before starting QEMU again!