The dosemu HOWTO: The preliminaries

Next Previous Contents

## 1. The preliminaries

## 1.1 What is dosemu, anyway?

To quote the manual, "dosemu" is a user-level program which uses certain special features of the Linux kernel and the 80386 processor to run MS-DOS/FreeDOS/DR-DOS in what we in the biz call a `DOS box.' The DOS box, a combination of hardware and software trickery, has these capabilities:

o the ability to virtualize all input/output and processor control instructions

o the ability to support the word size and addressing modes of the iAPX86 processor family's "real mode," while still running within the full protected mode environment

o the ability to trap all DOS and BIOS system calls and emulate such calls as are necessary for proper operation and good performance

o the ability to simulate a hardware environment over which DOS programs are accustomed to having control.

o the ability to provide DOS services through native Linux services; for example, dosemu can provide a virtual hard disk drive which is actually a Linux directory hierarchy."

## 1.2 What operating systems does dosemu work under ?

Dosemu is primarily written for Linux. It also works on NetBSD and possibly FreeBSD, however the graphics emulation is unlikely to work on NetBSD, which means that all DOS programs that use graphics mode (most DOS programs) will not work under NetBSD.

## 1.3 What processors does dosemu work on ?

Dosemu only works on Intel 80x86 processors, e.g. 80386, 80486, Pentium etc.

## 1.4 What if I have an Alpha/Sparc/Motorola/other non-Intel CPU ?

Dosemu only works on Intel 80x86 processors but there are alternatives: Bochs ( http://www.bochs.com) is an open source shareware PC emulator that runs on most Unixes (as well as MS-Windows), and there are other (non-free) alternatives - see the comp.emulators.misc FAQ, available via usenet or ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/emulators/misc/

## 1.5 Do I need MS-DOS to use dosemu ?

No. You need some version of DOS but not necessarily MS-DOS. See the section "What versions of DOS are known to run with dosemu ?"

## 1.6 Can I run Microsoft Windows programs under dosemu ?

Not reliably. You would be better to use the Windows emulator Wine ( http://www.winehq.com). If you insist on running Windows under dosemu, see section 8 - dosemu and MS-Windows 3.1.

## 1.7 I want to run something that won't run under DOSemu or Wine

See section 1.4.

## 1.8 Names and numbers

> `(xx/yy/zz) means day zz in month yy in year xx.`

> `winemu mean WinOS/2 running in dosemu.`

## 1.9 What version of Dosemu should I use?

Dosemu uses the same numbering scheme as the kernel. Uneven second numbers are for possible unstable developer releases, even second numbers are for releases considered stable. At the time of writing, 0.98.8 is the latest stable release, while 0.99.10 is the latest developer's release. So if you want to use dosemu, get the latest stable release.

## 1.10 What's the newest version of dosemu and where can I get it?

The newest version of dosemu as of 99/04/09 is dosemu0.98.8 and can be ftp'ed from:

> `ftp://ftp.dosemu.org/pub/dosemu/`

Remember that this is ALPHA code, however: there may be serious bugs and very little documentation for new features. The development version is particularly likely to have bugs. Please use it only if you like to do active development. Don't report bugs in the development version, fix them instead.

## 1.11 Where can I ask questions?

If you have problems regarding installing and running dosemu after reading the documentation, first try to help yourself: Your question has probably been asked and perhaps answered before. Try some search engine on the internet to retrieve that information. E.g. you can ask

> `http://www.dejanews.com`

to find all newsnet articles containing the keywords of your question. Helping yourself will probably be faster than asking a well known question. It also frees up the time of developers from answering trivial question and so helps the further development of dosemu.

## 1.12 Where can I report bugs and ask questions?

If you want to ask questions and report bugs regarding dosemu, you should consider subscribing to the linux-msdos mailing list. To subscribe, send mail to Majordomo@vger.rutgers.edu with the following command in the body of your email message:

        subscribe linux-msdos your_username@your.email.address

If you ever want to remove yourself from the mailing list, you can send mail to Majordomo@vger.rutgers.edu with the following command in the body of your email message:

        unsubscribe linux-msdos your_username@your.email.address

(95/8/11). When you are subscribed to linux-msdos, you can send your report as mail to linux-msdos@vger.rutgers.edu. There is a gate that send mails to linux-msdos@vger.rutgers.edu as postings to the newsgroup named linux.dev.msdos. If your News provider doesn't carry that group, ask her(him) to add that group. Before you ask a question, you should carefully read all of the documentation, including this HOWTO and check one of the mailing list archives listed at http://www.dosemu.org/mailinglist.html to see whether your question has already been asked and answered.

## 1.13 What documentation is available for dosemu?

Dosemu comes with documentation. The main documentation files README.txt and README-tech.txt cover virtually all aspects of dosemu and may be more up-to-date than this HOWTO.

The "dosemu Novice's Altering Guide" or DANG is a road map to the inner workings of dosemu. It is designed for the adventurous, those who wish to modify the source code themselves. The DANG is maintained by Alistair MacDonald ( alistair@slitesys.demon.co.uk) and is found in the doc directory of the dosemu source tree.

The EMU failure list (EMUfailure.txt) is a partial list of programs known not to work under dosemu.

And then, of course, there is the dosemu FAQ/HOWTO. But you already know about that, don't you. It is also posted once in a while to the mailing list and found in the doc-directory. The most recent version can be found at http://www.dosemu.org.

## 1.14 I have a program that fails, not listed in EMUfailure.txt

First check, if the failure of your program is not caused by some of the fundamental incapabilities of dosemu, listed in EMUfailure.txt. If you think you have something new, please report to linux-msdos@vger.rutgers.edu. Perhaps it can be made going with the help others. Give detailed information about your setup, tell the version of kernel, dosemu etc and name the observed errors. You can use xdos to cut and paste the error message into your report. But keep your report in a readable form. We know the content of ../etc/config.dist. So only send the active lines from your dosemu.conf. Try running dosemu with some or all debug output turned on and scan through your debug output and at first only send those parts you think are relevant. Few people are willing to decode some long attachment to a mail, to do debugging for others. But keep your logs at hand, in case others ask detailed questions.

## 1.15 How do I submit changes or additions to the HOWTO?

The preferred method is to edit the file dosemu-HOWTO-xx.x.sgml to incorporate the changes, create a diff file by typing something like

> `diff -uw original-file new-file`

and send it to davidhodges@altavista.net. If you do not know SGML, that's ok. Changes or new information in any form will be accepted. Creating the diff file just makes it easier on the HOWTO maintainer. :-)

## 1.16 Message from Greg...

Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.

If you have questions, please contact Greg Hankins, the Linux HOWTO coordinator, at gregh@cc.gatech.edu(95/8/11).

Next Previous Contents