A full featured Dosemu needs to be suid root, e.g to access ports. Most dos programs don't need this however so when running under X you usually do not need to run dosemu as root. Dosemu runs as suid "root" only where it is needed, and releases this right thereafter. But with DPMI, the Dos client programm can access the whole user space, hence also can modify the dosemu code itself. Use of the 'secure' option in /etc/dosemu.conf disables this. There are several other important security considerations discussed in the Security section of the README.txt file.
This will happen if your program uses DPMI and you do not have DPMI enabled. Try changing the line
$_dpmi = (off)in /etc/dosemu.conf to
$_dpmi = (nnnn)where nnnn is the number of kilobytes of memory you wish to give to the DOS program (e.g. Doom requires about 4000 kilobytes). If you do this, you should not run dosemu as root (see the Security Issues section) - it is better not to run dosemu as root whenever possible, in any case.
Another likely cause is that your program uses VCPI (see EMUfailure.txt for more details) or some other means of switching to protected mode (other than DPMI), in which case it will never work under dosemu.
If none of these is the case, see section 1.14 I have a program that fails, not listed in EMUfailure.txt.
Dosemu relies that the Dos-Version on the hdimage and the Drive you map to contain command.com are the same. If not, dosemu will crash sooner or later. With the dual boot option Win95 offers when pressing the F4,F5 and F8 Keys with the "Starting Win95" text, versions on the Win95 drive may swap. Take special care for command.com. Let your shell variable in config.emu point to the correct static version of command.com, e.g.: shell=c:\win95\command.com c:\ /P /E:1024 (97/02/28)
Switch to another console and type dosdebug, then type kill (it may take a while but will work eventually).
Daniel Barlow(jo95004@sable.ox.ac.uk) reported (95/4/8) that
If you have no terminal or network access that you can use to log in,
you may have to press the reset button. If you can still get a usable
shell somehow, run "kbd_mode -a
" to switch the keyboard out of
raw mode, and/or "stty sane
" on the console so that you can see
what you're typing.
A useful thing to do is to use a script to run dosemu, and run
"kbd_mode -a
" automatically right after dosemu. When dosemu
crashes, the script usually will resume running, and execute the
"kbd_mode -a
" command.
Rob Janssen (rob@pe1chl.ampr.org) reported (94/7/11)
Don't forget to load the provided ems.sys from the config.sys file.
(94/8/11)
Grab and install klogd
. Try
sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz
Aldy Hernandez (aldy@sauron.cc.andrews.edu) reported (94/7/8) that
You should disable your video and/or BIOS caching.
JyiJiin Luo (jjluo@casbah.acns.nwu.edu) reported (94/4/19) that
I experienced exactly the same problem before. I figured out all the video shadow in my AMI BIOS must be disabled. Now dosemu runs fine on my system.
In some cases it is useful to play with the value of the
HogThreshold
variable in your dosemu.conf
file.
Daniel Barlow(jo95004@sable.ox.ac.uk) reported (95/4/8) that
HogThreshold should now be set to approximately half of the BogoMips value that the system reports on boot.
Vinod G Kulkarni (vinod@cse.iitb.ernet.in) reported (94/4/7) that
When a CDROM is mounted from linux and used from within dosemu (mapped drive), there could be some problems. The CD-ROM driver (iso9660) in the kernel tries to find out the type of the file (i.e. binary or text). If it can't find, it tries to guess the type of the file using a heuristic. This heuristic fails under some circumstances when a (almost) text file is to be treated as binary. (I do not know if it is a bug or feature.)
The result of this is that if you copy such a file from CD-ROM (from
linux itself, and not necessarily dosemu), the resulting file will be
usually bigger than original file. (Blanks get added before
^J
,^M
.) So a program running in dosemu gives an error or
hangs, which may be mistaken as problem of dosemu.
Rob Janssen (pe1chl@rabo.nl) reported (94/8/10) that
The way to solve this is to turn off conversion altogether. Pass the option "-o conv=binary" to the mount command mounting the CD-ROM, or use the following in /etc/fstab:
/dev/cdrom /cdrom iso9660 conv=binary,roNo patches to the kernel are necessary.
Daniel Barlow(jo95004@sable.ox.ac.uk) reported (95/4/8) that
As of dosemu 0.60, debugging output is redirected to a file specified
on the command line. Use "dos -D+a -o /tmp/debug" to log all
debug output to /tmp/debug. There should no longer be any
need to redirect stderr
.
Nick Holloway (alfie@dcs.warwick.ac.uk) reported (94/2/22) that
After running dos after playing with some stty settings, I was getting doubled key presses. I can now reveal what the reason is!
It only happens when dos is run on the console with 'istrip' set. This is (I think) because the raw scancodes are mutilated by the 'istrip', so that key release events look like key press events.
So, the input processing needs to be turned off when using the scan codes on a console (it wouldn't be a good idea to do it for tty lines).
For those graphics cards not fully supported in dosemu, with allowed console graphics a dosemu crash may leave your console in a scrambles and nearly unusable way. To prepare for that situation, Spudgun <spudgun@earthlight.co.nz> posted the following solution. First save your registers when running on the console ~> cat /usr/bin/savetextmode ~> restoretextmode -w /etc/textregs ~> restorefont -w /etc/fontdata Then, when a crash happened, run following script: restoretextmode -r /etc/textregs restorefont -r /etc/fontdata restorepalette
If it doesn't fix it nothing will I also found having an X server running sometimes put my Vid card's registers into a strange state where this script made things worse I think since changing X servers and/or running savetextmode on a vt while X was running helped. (97/04/08)
FoxPro 2.6 doesn't run on network drives. Alexey Naidyonov <growler@growler.tsu.tula.ru> states on that problem: And I guess your FoxPro files are on lredir'ed disk, yeah? The matter is that FoxPro doesn't run on such disk, but when I said disk { partition ... } in /etc/dosemu/conf, it runs.