KyronOS is a small, text-only experimental operating system for x86 PCs. It boots from a GRUB Multiboot2 ISO and provides a VGA terminal with a shell, keyboard input, directory navigation, users, and a RAM-backed filesystem prototype.
Video of KyronOS running on real hardware:
Verify the host tools without installing anything:
./setup.shOn Fedora:
sudo dnf install gcc gcc-c++ make nasm grub2-tools-extra xorriso gdbOn Debian or Ubuntu:
sudo apt install build-essential nasm grub-pc-bin grub-common xorriso gdbBuild and run the ISO:
make iso
make runThe generated image is build/kyronos.iso. VirtualBox can boot it with make run; use make run EFI=on for an EFI VM. The debug target only prepares the image because VirtualBox debugging requires separate VM debug configuration.
gdb build/kyronos.kernelThe current shell includes:
help clear version about echo
ls cd pwd go back go home go root
touch mkdir rmdir write append cat rm
add user <name>
switch user <name>
devices mem reboot shutdown
The default root layout is:
/
├── kyron/
├── boot/
├── system/
├── etc/
├── home/
├── tmp/
├── dev/
├── bin/
└── usr/
└── bin/
User home directories live under /home. Inside the active user's home, the prompt uses ~, for example [kyron]:~# and [kyron]:~/projects#.
Implemented foundations include the Multiboot2 boot image, VGA console with scrolling and cursor tracking, PS/2 keyboard input with Shift and Tab completion, shell navigation, user home-directory handling, KSFS superblock validation, and a generic block-device interface.
KyronOS does not yet provide native storage-controller transport, partition discovery, persistent disk installation, or a complete on-disk KSFS file tree. USB boot-protocol decoding is present, but native USB keyboard support requires the controller and interrupt-transfer layers. The current GRUB image can be selected in VirtualBox with BIOS or EFI firmware; the installer and persistent disk path remain future work.
See docs/BUILDING.md, docs/WINDOWS.md, docs/KSFS.md, docs/USB.md, and docs/ROADMAP.md for details.