# How to build Enhanced DR-DOS from ecm repo

2023 by C. Masloch. Public Domain.

This document has been compiled on 2025-12-21.

1. Set up dosemu2
   1. Make sure to use FreeCOM as the shell
   2. When redirecting a host directory to a DOS drive using `-K`, then the DOS drive I: still must be unused
   3. A recent FreeCOM build can be obtained from the build at https://pushbx.org/ecm/download/freecom.zip
   4. There is a blog post on how to set up dosemu2: https://pushbx.org/ecm/dokuwiki/blog:pushbx:setupdosemu2
2. Set up WarpLink
   1. Build WarpLink (requires NASM, dosemu2, and `warplink.exe` itself) or obtain a build
   2. Place resulting executable in DOS PATH as `warplink.exe`
   3. A build can be obtained from https://pushbx.org/ecm/download/warplink.zip (rename `wl.exe` to use it as `warplink.exe`)
3. Set up x2b2
   1. Build x2b2 (requires NASM and lmacros) and place in DOS PATH
   2. A build can be obtained from https://pushbx.org/ecm/download/x2b2.zip
4. Set up JWasm
   1. Build DJGPP executable of JWasm and place as `C:\BIN\JWASM.EXE`
   2. A build can likely be obtained from https://github.com/Baron-von-Riedesel/JWasm/releases/
5. Set up OpenWatcom
   1. Insure to have no files in DOS named `C:\C0NFIG.SYS` or `C:\AUTOEXEC.BAT`
   2. Download OpenWatcom 1.9 DOS installer from http://openwatcom.org/ftp/install/open-watcom-c-dos-1.9.exe
   3. Run installer in dosemu2
   4. Install to `C:\WATCOM`
   5. Choose the full installation
   6. Choose for the installer to ‘Make all the modifications for you’
   7. Rename the created file `C:\AUTOEXEC.BAT` to `C:\AUTOWAT.BAT` after the installer is done
   8. The created file `C:\CONFIG.SYS` should have just the line `FILES=20` so make sure to configure at least that many SFT entries in `FDCONFIG.SYS`
6. Set up IA16 gcc
   1. Use https://gitlab.com/tkchia/build-ia16
   2. Make `ia16-elf-gcc` available in the Linux path
7. Set up the following repos as sister directories of the edrdos repo: (accesible as `../REPO/` from edrdos repo)
   1. lmacros
   2. ldosboot
   3. inicomp
   4. scanptab
8. Make `lzip` available in the Linux path, from https://www.nongnu.org/lzip/
9. Make NASM available in Linux path
10. Run mak script from edrdos repo (repo root as host cwd), as `./mak.sh`
11. Alternatively, set up DOS drive I: to point to the repo's `drdos/` subdirectory, call the `C:\AUTOWAT.BAT` file (only needed for building command.com), then run one of the `make.bat` scripts from one of the subdirectories (`drbio/`, `drdos/`, or `command/` subdirectory as DOS cwd).
12. Find files `edrdos.sys`, `edrpack.sys`, `edrdos.com`, or `edrpack.com` in repo root, and `command.com` in the subdirectory `command/bin/`
13. To build this document, you need the Halibut document preparation system
    1. Grab sources from https://www.chiark.greenend.org.uk/~sgtatham/halibut/
    2. You may want to get a patch from https://github.com/ecm-pushbx/halibut/commit/1ccc3ac

The pack100 / pack101 EDR-DOS kernel packing using UPX is no longer supported in the lDOS EDR-DOS fork starting 2023 December. Use the build files `edrpack.sys` or `edrpack.com` instead.

## Source Control Revision ID #

hg 6f38a5d95317, from commit on at 2025-12-21 17:50:02 +0100

If this is in ecm's repository, you can find it at https://hg.pushbx.org/ecm/edrdos/rev/6f38a5d95317