Next Previous Contents

## 2. Compiling and installing dosemu

## 2.1 Where are the installation instructions?

The installation instructions are in the file, "QuickStart", included in the distribution.

## 2.2 Top ten problems while compiling and installing dosemu.

1. Forgetting to read the QuickStart Guide.

2. Try to compile some old version of dosemu.

3. Try to compile with a kernel older than 2.0.28 or 2.1.15.

4. Having the wrong linux kernel source sitting in /usr/src/linux or missing /usr/src/linux/include/version.h

5. Use dosemu with a kernel that does not have IPC compiled in.

6. Compile with gcc older than 2.7.2 or libc older than 5.x.x.

7. Forget to edit your /etc/dosemu.conf, /etc/dosemu.users and /var/lib/dosemu/global.conf files

8. Run DOSEMU with partition access while they are already mounted.

9. Don't install dosemu with sufficient privileges (i.e., root).

10. Try to run programs that use DPMI without enabling dpmi in /etc/dosemu.conf

## 2.3 How do I make aout binaries?

Starting with version 0.64.4 there is no a.out support any more. If you absolutely need it, you must use version 0.64.3.1. The configure script then should take care for this, if you setup is a standard setup.

## 2.4 How do I compile dosemu on a machine with low memory?

Marty Leisner (leisner@sdsp.mc.xerox.com) reported (95/4/8) that

If you have problems with running out of swap space you may want to add `CFLAGS+=-fno-inline` after `CFLAGS` is defined in dpmi/Makefile. Be careful before you do this and check for the existence of swap space. I found Linux crashes at times when it has no swap space.

## 2.5 Compilation fails with some strange error regarding "slang"

You probably have

> `slangforce off`

in your compiletime-settings file. You need to change it to

> `slangforce on`

and recompile.

## 2.6 What configurable options are available ?

The compiletime-settings.help file describes the options you can change at compile time. The README.txt file describes the options you can change at run time.

## 2.7 Do I need to run dosemu as root?

No. Although dosemu drops root privilege wherever possible, it is still safer to not run dosemu as root, especially if you run DPMI programs under dosemu. Most normal DOS applications don't need dosemu to run as root, especially if you run dosemu under X. Thus you should not allow users to run a suid root copy of dosemu, wherever possible, but only a non-suid copy. You can configure this on a per-user basis using the /etc/dosemu.users file.

Programs that require direct access to hardware ports (e.g. if the program needs to talk to some unusual hardware that is not supported by Linux and dosemu) require dosemu to run as root but printers, serial ports, mice and video cards (and to a small extent sound - hopefully more soon) are emulated by dosemu so you don't need direct hardware access and don't need to run as root to use these.

## 2.8 How do I patch dosemu ?

If you do patch dosemu from one version to another, do "make pristine;./configure; make". If you don't make pristine, at least the version of the new executable will be wrong, if the whole thing compiles at all(97/2/9).

## 2.9 What versions of DOS are known to run with dosemu ?

All versions of DOS should work with dosemu, with the following caveats:

FreeDOS ( http://www.freedos.org) does not (yet) have a working redirector so you will not be able to access your Linux filesystem or Novell networking under FreeDOS. Note also that FreeDOS is unreliable beta software and may crash unexpectedly, trash its filesystem, etc. etc.

DOS 4.01 had problems by itself, so it won't work reliably with dosemu either.

With MsDos-7 aka Win95 you must not start the graphic shell at bootup. If you make the hdimage bootable with the so called "Rescue Disk" you are offered to make during the Windows installation, you get the right settings. If you use your normal Win95 installation to transfer the system files, have a look at the msdos.sys written on the hdimage and change the settings under the section [Options] to have entries like [Options] Logo=0 BootGUI=0

Next Previous Contents