About

Rumicos is an operating system for the x86-64 architecture, written from scratch in Rust. It is developed toward network appliances — routers, firewalls, and other network devices — where a small, auditable, memory-safe codebase matters more than broad application compatibility.

Rumicos is not a fork or derivative of Linux, BSD, or any existing kernel. Every line of the kernel is original work. That means there is no inherited third-party codebase to take on trust or to audit separately.

Why Rust, and why network devices

Network code parses untrusted input by definition — packets arrive from outside. That is exactly why it remains a primary source of memory-safety vulnerabilities in conventional C-based network stacks. Rumicos is built in Rust, where memory safety is a structural property of the language rather than a matter of review discipline: whole classes of bugs (out-of-bounds access, use-after-free, data races) are ruled out at compile time.

Because the system targets network devices rather than general-purpose computers, it does not need the broad driver surface, desktop environment, or application compatibility layers that make general-purpose kernels large and hard to audit. Less code means a smaller attack surface and a codebase that can actually be reviewed.

Status

The kernel foundation is complete and verified on real hardware under KVM. The network stack is the current development focus and is not yet implemented. Below is an honest status table, including what is not done.

LayerStatus
BootLimine protocol, UEFI, higher-half kernel
CPUGDT / TSS / IDT, SYSCALL/SYSRET, per-CPU state via GSBASE
Memory4-level paging, direct-map, PCID, NUMA-aware buddy allocator, SMAP/SMEP
SMPACPI/MADT parsing, AP bring-up, x2APIC/xAPIC, TLB shootdown
Schedulingpreemptive MLFQ, per-CPU run queues, work-stealing, futex, mutexes
ProcessesELF64 loader, ring-3 execution, copy-on-write fork, execve, threads
Memory mappinganonymous and file-backed mmap, MAP_SHARED, page cache
FilesystemVFS, ramfs, devfs, CPIO initrd
IPCpipe, dup/dup2, POSIX signals, wait4
Userspaceinteractive shell with pipelines and redirection, keyboard input
PCI bus / MSI-Xdevice enumeration and interrupt delivery — groundwork for the network card
Network stacknot implemented — in development
Packet filteringnot implemented — planned
Persistent storagenot implemented — planned

How it is verified

Two independent layers. Host unit tests — pure logic (allocator arithmetic, page-table encoding, parsers) is deliberately separated from unsafe hardware-facing code so it can be tested without hardware. Boot regression under QEMUcargo xtask qemu-test boots the real kernel image and checks its serial output against an expected-output file. The project additionally scans its own compiled binary for known-bad code generation: three distinct compiler miscompilation bugs were found during development, each silently corrupting data and detectable only by inspecting the generated machine code.

Roadmap

License and model

Rumicos is free software under the GNU GPL v3. The source is fully open.

The revenue model is not based on selling the operating system itself. The planned sources are commercial licensing for organizations that cannot accept the obligations of the GPL; technical support and maintenance; certification work; and integration of the system into a customer's hardware. None of these require closing the source to the community.

Contact

The project is developed in the open; for collaboration, licensing, or use, write to Ilya.Sutorma-rumicos@yandex.ru.

Build and run

rustup target add x86_64-unknown-none
cargo build -p kernel --target x86_64-unknown-none --release   # build the kernel
cargo xtask qemu-test                                          # boot it, check the output
cargo test --workspace                                         # host unit tests

The source and engineering notes are in the GitHub repository.