Don't be an NPC - use lEEt/OS!

System requirements
TCP/IP stack
Try it online!


The kernel can be compiled and linked using Open Watcom compiler. The kernel does not make other assumptions about the bootloader than that in the memory address 0xFC15 there must be the BIOS drive number of the system drive, and in the memory address 0xFC1C the 32-bit index of the first logical sector of the boot partition. The kernel can be loaded to anywhere in the memory (as long as the starting point is the beginning of a paragraph) and must be started by doing a far jump to the beginning of the code with offset 0.
ST-DOS-specific features

New 10. 11. 2023: The ATAPI CD-ROM code should now work with physical hardware without BIOS support for CD-ROMs.
New 23. 10. 2023: Symbolic links.
New 10. 10. 2023: Experimental CD-ROM support.
New 4. 10. 2023: The filesystem mounter now supports MS-DOS logical partitions.
New 15. 8. 2023: Write buffer optimizations.
New 15. 7. 2023: Wildcards for COPY and DEL commands.
New 8. 7. 2023: The kernel now supports BIOS int 13h enhanced disk drive extensions and hard drives that have a size of 2^64 sectors (which is 8589934592 terabytes when the sector size is 512 bytes). The standard build of the kernel also now works with the original IBM PC and XT.
New 16. 6. 2023: Bug fixes...
New 27. 5. 2023: It runs DOOM!

Source for the kernel & userland

Last updated: 18. 11. 2023

Source for the boot loader (can be assembled with NASM)
The bootloader searches for a file named KERNEL.BIN from the root directory of a FAT12/16 filesystem and loads it to memory.

Bootable 1,44 MB floppy image

Bootable USB storage image

Bootable "El Torito" CD image

Bootable 360 kB floppy image for IBM PC and XT


  • Support for large disks and 2 GB FAT filesystems
  • Dynamic disk caching
  • Dynamic file buffering
  • Mostly MS-DOS-compatible API - most DOS programs should work
  • Can create and mount disk images
  • Calls DOS idle handler (int 28h) also during disk I/O
  • Symbolic links

(c) Sami Tikkanen 2020 - 2023