Lanex is a monolithic, -nix-like, console-based operating system kernel built entirely from scratch.
It does not borrow code from other -nix-like systems — everything is original.
The name "Lanex" originated from a friend's reaction to Linux memes — a simple, memorable twist that stuck.
- Protected mode with basic memory management (PMM, kmalloc)
- Interrupt handling (IDT, PIC, PIT, keyboard, RTC)
- VGA text mode console with hardware cursor support
- PS/2 keyboard driver with arrow keys and modifier support
- Power management (shutdown / reboot via QEMU or real hardware)
- Real Time Clock driver (date/time readout)
- Virtual File System (VFS) with
/procpseudo-filesystem - Basic interactive shell with command history and navigation
- Kernel configuration system (Kconfig / menuconfig)
| Command | Description |
|---|---|
clear |
Clear screen |
history |
Show command history |
ls |
List directory (/proc supported) |
pwd |
Show current directory |
cd <path> |
Change directory (/, /proc) |
shutdown |
Power off |
reboot |
Reboot system |
date |
Show RTC date and time |
free |
Display memory usage |
uptime |
Show system uptime |
echo |
Print arguments |
panic |
Trigger a kernel panic |
help |
Show this help |
sudo pacman -S nasm qemu-desktop
yay -S i686-elf-binutils i686-elf-gcc
make
make runsudo apt install build-essential gcc-multilib nasm qemu-system-x86
make
make runThe kernel can be customized using the Kconfig system:
make defconfig # generate default .config
make menuconfig # interactive configuration menuAfter changing the configuration, rebuild with make clean && make.
| Directory | Description |
|---|---|
boot/ |
16-bit bootloader (real mode) |
kernel/ |
Core kernel (C + asm) |
drivers/ |
VGA, keyboard, RTC, power, ATA |
fs/ |
VFS, procfs, FAT32 (skeleton) |
user/ |
Shell, init, userspace utilities |
libc/ |
Minimal standard library |
include/ |
Public kernel headers |
scripts/ |
Build scripts, QEMU launcher |
tools/ |
confeditor – config editor |
See CONTRIBUTING.md.
Keep history linear – no merge commits.
MIT – see LICENSE.
- keldsaya – Initial development & maintenance
- oguzokdotdev – Documentation and first contributor