No description
  • C 64%
  • Assembly 35.5%
  • Makefile 0.5%
Find a file
2026-04-22 15:47:36 +10:00
bin it loads! 2026-04-13 23:15:09 +10:00
ddk fix vxdjmp macro, use vxdjmp in dev_vmm_cproc 2026-04-18 10:48:19 +10:00
inc very messy but it does spawn sh on a console 2026-04-21 19:00:21 +10:00
vxd tweak boot params 2026-04-22 15:21:53 +10:00
wsl very messy but it does spawn sh on a console 2026-04-21 19:00:21 +10:00
.envrc.example add readme, screenshot, example envrc 2026-04-22 15:47:36 +10:00
.gitignore just vendor fixlink 2026-04-21 19:01:32 +10:00
bochs.bxrc it loads! 2026-04-13 23:15:09 +10:00
config.sys it loads! 2026-04-13 23:15:09 +10:00
fixlink.c just vendor fixlink 2026-04-21 19:01:32 +10:00
Makefile symlink vmlinux in makefile 2026-04-22 15:37:13 +10:00
mtoolsrc it loads! 2026-04-13 23:15:09 +10:00
README.md add readme, screenshot, example envrc 2026-04-22 15:47:36 +10:00
screenshot.png add readme, screenshot, example envrc 2026-04-22 15:47:36 +10:00
system.ini it loads! 2026-04-13 23:15:09 +10:00

WSL9x

Windows 9x Subsystem for Linux.

WSL9x runs a modern Linux kernel (6.19 at time of writing) cooperatively inside the Windows 9x kernel, enabling users to take advantage of the full suite of capabilities of both operating systems at the same time, including paging, memory protection, and pre-emptive scheduling. Run all your favourite applications side by side - no rebooting required!

Building and running

  • You will need a cross toolchain targeting i386-linux-musl on PATH. Use musl-cross-make to build one

  • You will need the Open Watcom v2 toolchain for building the Windows components

  • Build a patched Linux kernel from my win9x-um-6.19 branch

    $ make defconfig ARCH=um SUBARCH=i386 KBUILD_DEFCONFIG=win9x
    $ make vmlinux ARCH=um SUBARCH=i386 -j $(nproc)
    
  • Set env vars appropriately for the WSL9x build, in particular you will need to point WATCOM and LINUX at the right places. See .envrc.example for an example

  • You will need a hard drive image hdd.base.img with Windows 9x pre-installed

  • Run make - this will produce a new hdd.img with WSL9x ready to go.

  • Run wsl at the MS-DOS prompt to open a pty. If you'd like to use ANSI colours, make sure you have an appropriate driver loaded before running wsl. nnansi.com is a good option.

License

GPL-3