Roadmap & status
An early-stage but actively developed microkernel that already boots to a POSIX-style userland.
Status today
ONCRIX is early-stage and under active development. It is not a finished operating system, and nothing here should be read as production-ready. What it is: a real, from-scratch microkernel that compiles for bare-metal x86_64, boots in QEMU under a CI-gated integration test, and hands control to a small user-space init that launches a shell and a handful of embedded coreutils. The kernel keeps only scheduling, memory management, and IPC; drivers, filesystems, and services live in user space and talk over message passing. The surface area grows steadily — POSIX system calls, virtual filesystem behaviour, and the beginnings of capability-based access control are all being filled in iteratively.
The honest summary: the foundations boot and run, but most subsystems are still partial. Treat the lists below as a snapshot of direction and progress, not a feature checklist of a complete OS.
What works
Boots, runs, and grows
These pieces exist today and are exercised on every change — the kernel builds for x86_64-unknown-none and boots all the way to a user-space shell in the CI boot test.
| Capability | What it covers | Status |
|---|---|---|
| Bare-metal build | Compiles for x86_64-unknown-none as a #![no_std] #![no_main] kernel. |
working |
| Boot to userland | Boots in QEMU, validated by a CI-gated boot integration test that confirms the kernel reaches user space. | working |
| POSIX system calls | A growing set: file I/O (read, write, open, close, lseek), process control (fork, execve, exit, wait), memory (mmap), plus pipes, signals, and more. |
working |
| Virtual filesystem | A VFS layer with an in-memory ramfs backing the early userland. |
working |
| User-space init | An init process that launches a shell and a set of embedded coreutils in user space. | working |
| IPC primitives | Channels, shared memory, and message queues — the spine that connects user-space services. | working |
| Capability foundations | The start of capability-based access control — a foundation being built, not a finished model. | in progress |
Concretely, a typical session today looks like booting the kernel image under QEMU, watching init come up, and dropping into the shell to run the embedded coreutils against the in-memory filesystem — the same path the CI boot test walks automatically.
In progress
Being filled in right now
These areas exist in some form but are incomplete, evolving, or actively being reshaped. Expect rough edges and breaking changes.
- in progress Capability-based access control. The groundwork is in place; the access-control model, capability handles, and privilege separation between user-space services are still being designed and extended.
- in progress POSIX coverage. New system calls land continuously, with each one validated against the POSIX.1-2024 interface contract before it is considered usable.
- in progress VFS depth.
Beyond the in-memory
ramfs, the VFS layer is being generalised so additional filesystem backends can plug in cleanly. - in progress User-space services. Moving more functionality out of the kernel and behind IPC, in line with the microkernel goal of a minimal trusted computing base.
Planned
On the roadmap
Directions ONCRIX intends to take. These are not started in earnest yet — they describe where the project is heading, not what it does today.
- planned More filesystems.
Additional VFS backends such as
ext2,fat32, andtmpfs, running as user-space services on top of the existing VFS layer. - planned Maturing network stack. Growing networking support so user-space applications can communicate over the network.
- planned More user-space drivers. Broadening the set of devices handled by isolated, message-passing drivers in user space.
- planned SMP / multi-core. Scheduling and synchronisation across multiple cores.
- planned Demand paging and copy-on-write.
Richer memory management in the
mmcrate for lazy mapping and efficientfork. - planned aarch64 / riscv64 bring-up.
Extending beyond the primary x86_64 target to the secondary
aarch64and tertiaryriscv64targets, with architecture-specific code kept behind the HAL.
The trajectory
From a booting kernel outward
A rough ordering of how the project is layering up — each stage builds on the one before it.
-
Foundations working
Bare-metal x86_64 build, QEMU boot to user space, a CI boot integration test, IPC primitives, a VFS with in-memory ramfs, and an init that launches a shell with embedded coreutils.
-
POSIX surface in progress
An expanding set of POSIX.1-2024-compatible system calls — file I/O, process control, memory, pipes, and signals — landing one validated call at a time.
-
Capability model in progress
Building out capability-based access control and privilege separation between user-space services on top of the existing foundation.
-
Storage & networking planned
More filesystem backends (ext2, fat32, tmpfs), a maturing network stack, and more user-space device drivers behind IPC.
-
Scale & portability planned
SMP / multi-core scheduling, demand paging and copy-on-write in the memory manager, and aarch64 / riscv64 bring-up behind the HAL.
Follow the progress
The source, the design docs, and the full commit history are public — that is where the roadmap actually moves.