This section of the document by Hans, <email@example.com>. Last updated on June 16, 1997.
Well, you may have wondered what these *.dexe file extension stands for. Looking at the title above you now know it ;-)
In fact its a tiny hdimage which is bootable and just contains one DOS application. Because this has isolated access to the hdimage only, it may have less security issues then a complete DOS environement under Linux and, more worth, you need not to fiddle with installation, because the implementor already has done this for you.
On the other hand, you may create your own *.dexe files using the script `mkdexe'. For this to run however you need at least mtools-3.6 because this versions has options that older versions don't have.
In detail you need the following to make a *.dexe:
Here is what ./mkdexe will print as help, when called without argument:
If you want to change the builtin configuration file, you may use ./src/tools/periph/dexeconfig to extract/re-insert the configuration.
extracts the configuration out of 'dexefile' and puts it into 'configfile'
does the reverse.
There is a problem, however, when you want allow a user to execute a DEXE and the DOS application needs to write to a file within the dexe (which is in fact a whole DOS FS). For this would have to give write permissions to the user (what is not what you want). DEXEs have a workaround for this: You may set read-only permissions for the DEXE file itself in the Linux-FS, but set a flag in the DEXE itself, so that DOSEMU will open this file read/write anyway. This means: The user cannot delete or replace the DEXE, but the imbedded DOS-application can (totally isolated) write to DOS files within the DEXE (complicated, isn't it?). To set such a permission, you (again) need `dexeconfig':
Here is what 'dexeconfig' will print as help, when called without argument:
It would be great, if we could collect an archive of working, free distributatble *.dexe files, and I'm herein asking for contribution. However, BIG NOTE, if you want to contribute a *.dexe file to the public, please do NOT use any other DOS than FreeDos else you would violate existing copyrights. This also (unfortunately) is true for OpenDos which can only be distributed after Caldera did allow you to do so :-(
If you have assembled a *.dexe and you wnat to contribute it, please send me a mail and upload the stuff to
I'll then put it into
There currently only is one in that archive: fallout.dexe Its a nice Tetris like games that I found on an old CDrom and which runs in 300x200 on console and X (not Slang-terminal). When you put it into you /var/lib/dosemu/* directory, you may start it via:
Hope we get more of *.dexe in the future ....
There is a nifty kernel patch flying around from Richard Guenther <firstname.lastname@example.org>. This can be obtained via
We hope this patch makes it into the kernel, because then we could execute a DEXE just by typing its name at the Bash prompt. To register DEXE format using binfmt_misc you do (in your /etc/rc.-whatever)
You may also use './mkdexe' do generate a _normal_ bootable hdimage, it then has the advantage, that you no longer need to fiddle with a DOS boot disk. I succeded to make a bootable hdimage with FreeDos, MSDOS-6.2 and also WINDOWS'95 (yes, that can be booted with the DOSEMU-own MBR ;-) I did not test other DOSes, but I guess, they also will work, as long as you pass the correct system file names to 'mkdexe' (-i, -m options)
Example: Given you have a bootable DOS-partition in /dev/hda1, then this ...
will generate a direct bootable 'myhdimage' from your existing DOS installation. You need not to make a boot floppy, nor need you to fiddle with fdisk /MBR and sys.com any more. Using -o confirm you may also edit the configuration files before they are put onto the hdimage.
Further more, there is a script on top of mkdexe: setup-hdimage, which helps more to firsttime install DOSEMU's hdimage. It prompts for needed things and should work on most machines.
In the ./dexe directory there is also a script, that allows you to directly access the hdimage's files, even without changing your /etc/mtools.conf. The usage of this script is:
Next Previous Contents
|The DOSEMU team|