Skip to content

iffilopy/lanex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LANEX

Lines Editor OS Gender

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.

Features

  • 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 /proc pseudo-filesystem
  • Basic interactive shell with command history and navigation
  • Kernel configuration system (Kconfig / menuconfig)

Shell commands

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

Build & Run

Arch Linux

sudo pacman -S nasm qemu-desktop
yay -S i686-elf-binutils i686-elf-gcc
make
make run

Debian-based (Linux Mint, Ubuntu, etc.)

sudo apt install build-essential gcc-multilib nasm qemu-system-x86
make
make run

Configuration

The kernel can be customized using the Kconfig system:

make defconfig      # generate default .config
make menuconfig     # interactive configuration menu

After changing the configuration, rebuild with make clean && make.

Project Structure

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

Contributing

See CONTRIBUTING.md.
Keep history linear – no merge commits.

License

MIT – see LICENSE.

Authors

  • keldsaya – Initial development & maintenance
  • oguzokdotdev – Documentation and first contributor