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.
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.
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.
| Layer | Status |
|---|---|
| Boot | Limine protocol, UEFI, higher-half kernel |
| CPU | GDT / TSS / IDT, SYSCALL/SYSRET, per-CPU state via GSBASE |
| Memory | 4-level paging, direct-map, PCID, NUMA-aware buddy allocator, SMAP/SMEP |
| SMP | ACPI/MADT parsing, AP bring-up, x2APIC/xAPIC, TLB shootdown |
| Scheduling | preemptive MLFQ, per-CPU run queues, work-stealing, futex, mutexes |
| Processes | ELF64 loader, ring-3 execution, copy-on-write fork, execve, threads |
| Memory mapping | anonymous and file-backed mmap, MAP_SHARED, page cache |
| Filesystem | VFS, ramfs, devfs, CPIO initrd |
| IPC | pipe, dup/dup2, POSIX signals, wait4 |
| Userspace | interactive shell with pipelines and redirection, keyboard input |
| PCI bus / MSI-X | device enumeration and interrupt delivery — groundwork for the network card |
| Network stack | not implemented — in development |
| Packet filtering | not implemented — planned |
| Persistent storage | not implemented — planned |
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 QEMU — cargo 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.
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.
The project is developed in the open; for collaboration, licensing, or use, write to Ilya.Sutorma-rumicos@yandex.ru.
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.