x86-64 kernel written from scratch in C, Apache 2.0.
The fun part first: upstream now boots Weston, and can even pull OpenJDK 17 and
play Minecraft. Don't ask about the framerate — it moves, that's the point.
Roughly what's in there:
- Linux-compatible syscall ABI (Linux 6.12 numbering, 0-462; unimplemented ones just return -ENOSYS)
- EEVDF scheduler, unified page cache with swap, full VFS
- Filesystems: tmpfs/procfs/sysfs, FAT/exFAT, ext2/3/4, NTFS (read-write), ISO 9660
- Homegrown network stack: IPv4/IPv6, TCP/UDP, DHCP, socket ABI
- Drivers: PS/2, USB (HID / mass storage / xHCI and friends), ATA/AHCI/NVMe, SB16/HDA audio, VirtIO-GPU + DRM/KMS
- Boots via Limine on both UEFI and Legacy; it's been run on real hardware (a Dell PowerEdge R410)
(cursor drawing, repaint on console switch, terminal query responses) — which
is what led to the opening act.
I also have some local fixes in my clone that get a Debian rootfs and KDE
booting. Still a few rough edges, so I'm holding off on upstreaming until
it's cleaned up.
Repo: https://github.com/ViudiraTech/Uinxed-Kernel
make && make run in QEMU is all it takes. Issues and PRs welcome.