Linux Goodies

In Pursuit Of The Perfect O/S



How To Install Freedos Into the QEMU Virtual Machine

Amazon Computers

Installing Freedos in qemu

If you'd like to install Freedos in Linux and not deal with the longer instruction set for installing in dosemu, consider installing in the freely available Virtual Machine (VM) qemu.

Qemu is an open-source emulation system that lets the user install guest operating systems within a host OS. The Host can be a number of different architectures, the best supported being Microsoft Windows and Linux. It's a totally new take on the old idea of having a multi-boot computer with different operating systems, made available by the speed and memory capacity of modern computers.

Operating systems installed within the qemu virtual machine see an artificial architecture of their expectation, and thus generally run nicely. Qemu isn't the fastest VM out there, but it is respectably fast, especially for DOS and older Windows versions as guest operating systems. In addition, qemu sports many nice features, including networking and usb support.

First, install the qemu Virtual Machine

In Debian, and possibly other Linux versions, qemu is a package included in the distribution. For Debian, install with the following instructions:

sudo apt-get install qemu qemu-launcher

You can also install the kqemu accelerator for your architecture, but it doesn't do anything for a Freedos install.

I've found that the Puppy Linux qemu archive has versions of qemu that seem to work well in Puppy Linux. At the time of this writing, I've been using Slacko Puppy Linux (available at To use the qemu sfs file, you just put the sfs file in the /mnt/home directory of Puppy, then use the SFS-Load onr-the-fly menu utility to load the qemu sfs file. On your subsequent boots, the qemu sfs file will automaticall by loaded, making qemu available.

It might be even better to get the latest version of qemu. It's a snap to install on Linux, and fixes a number of issues you might find useful for windows installs, such as usb access. Get the latest version at

For Linux, what you'll get is a tar.gz file, which can simply be un-tarred in the root directory. From there it automatically installs in the appropriate /usr directories. The accelerator package can also be downloaded and installed using the standard Linux make command (look at the README that comes with the package). You'll probably need the Linux headers appropriate to your install if you try to build the kqemu accelerators

If you do a Debian package install, you can use the qemu-launcher utility to set up a Freedos VM partition, selecting cdrom as the install medium. While in the launcher, you can turn off the accelerator, as it will do nothing for you during the install.

From the launcher, when you select install, the qemu VM will boot from the Freedos cd and install with no difficulty.

When the launcher begins installation, note the qemu command line used by the launcher that is shown in the launch window. Make a script file to launch qemu with those arguments (except eliminate the -b boot option).

If you download the latest package from the qemu website, you'll have to go find the qemu-launcher as it isn't part of the qemu website package. You might try

Even without the launcher you can still do the install with the following commands:

qemu-img create qemu_freedos 1000M
qemu -localtime qemu_freedos -cdrom your_freedos.iso -boot d

The first creates the qemu disk image in this case named qemu_freedos, but you can use any name you wish. Adjust the file name and file size (shown as 1000 megabytes) to whatever size you desire.

The second line does the install. Adjust to use the same file name you used on the creat line (qemu_freedos in this case), and the name of your Freedos iso file (your_freedos.iso in this example). The second command will boot the Freedos cdrom image and let you install to the disk image you created -- just follow the directions on the Freedos install CD.

Once installed, you can run the qemu Freedos install with the command:

qemu -localtime qemu_freedos

Which tells qemu to load the run the image you created in step 1.

Pretty neat -- don't you think?