Hi everyone,
I’ve been working on a hobby OS project called RodNIX and thought I’d share it here.
The goal is simple: build a small Unix-like kernel that stays readable and debuggable as it grows. It’s not meant to compete with Linux or BSD — it’s mainly an experiment to see how far a clean kernel structure can go while still supporting a POSIX-style userland.
One idea I’m exploring is a Fabric device model. Instead of spreading device discovery, drivers and services across different subsystems, RodNIX represents them as nodes in a common system “fabric”. Devices, drivers and services register there and communicate through events.
So far this approach makes it much easier to observe the system state and debug what’s happening inside the kernel.
A short boot log from a recent run:
RodNIX Kernel Version 0.1.20
[0.000] INFO memory : PMM + VM ready
[0.000] INFO acpi : tables discovered
[0.000] INFO apic : LAPIC + I/O APIC ready
[0.000] INFO timer : source: LAPIC @ 100 Hz
[0.000] INFO sched : ready
[0.000] INFO syscall: fast syscall/sysret path enabled
[0.000] INFO loader : ELF loader ready
[0.000] INFO ide : disk0 identified
[0.000] INFO vfs : ext2 disk0 mounted at /mnt
[0.000] INFO init : userspace target: /bin/init
[0.000] INFO kernel : boot complete — starting scheduler
RodNIX userspace 0.1.20
Interactive shell available.
The system is still early but already boots into a small userspace environment.
Current state roughly looks like this:
x86_64 kernel (Multiboot2)
higher-half mapping
basic PMM + VM (mmap, munmap, brk)
early copy-on-write groundwork
interrupts + LAPIC / IOAPIC
simple preemptive scheduler
VFS with RAMFS / initrd
EXT2 read-write
Fabric device / driver / service layer
IDE disk discovery (disk0)
basic init + shell
pipes and redirects
growing POSIX syscall surface (fork, exec, wait, signals, poll, futex)
At the moment I mainly run and debug it in QEMU.
If the Fabric device model sounds interesting I’d be curious to hear thoughts or criticism. I’m still figuring out how far this approach can go.
Repository:
https://github.com/rgudkoff/Rodnix
Discord (if anyone wants to follow development):
https://discord.gg/4sUPYXFB