One object model
Files, devices, pipes, and sockets share one descriptor namespace—small tools, simple composition.
● Milestone B2 complete · x86-64
Mirox is a from-scratch operating system kernel written in Rust. It boots through UEFI, owns its entire stack, and borrows ideas—not code.
01 / Architecture
Mirox is a hybrid kernel: a lean monolithic core for hot paths, with room for non-critical drivers and services to live in isolated user space.
The system keeps what still works—descriptors, stable syscalls, composable tools—and rejects historical contracts that no longer earn their complexity.
02 / Influences
Mirox chooses a clear answer for each subsystem instead of copying a complete operating system wholesale.
Files, devices, pipes, and sockets share one descriptor namespace—small tools, simple composition.
Append-only syscall numbers, a typed sysctl tree, and capability-oriented security as a first-class primitive.
One driver model with hotplug and a unified bus abstraction, without inheriting Linux’s userspace ABI.
03 / Inside the kernel
The bootloader speaks a tiny shared protocol, hands the physical memory map to the kernel, and gets out of the way. From there Mirox initializes segmentation, interrupts, allocation, and the heap.
Explore kernel sourceMIROX/UEFI loading kernel.elf
ok ELF64 entry 0xffffffff80000000
ok boot protocol MIROX_BO
ok GDT installed
ok IDT installed
ok frame allocator online
ok kernel heap online
mirox>_04 / Roadmap
The roadmap moves from hardware ownership to processes, files, and isolated services. No fake version-one finish line.
Bootloader, ELF loading, and the Mirox boot protocol.
Frame allocator, kernel heap, GDT, and IDT.
The first stable Mirox syscalls and error model.
Tasks, scheduling, address spaces, and lifecycle.
A unified descriptor model and typed configuration tree.
A unified device model and first user-space server.
05 / Build & run
Produce the same 64 MiB UEFI image from Linux or Windows, then boot it in QEMU. Rust nightly and the target configuration stay pinned in the repository.
$ sudo apt install qemu-system-x86 ovmf mtools
$ rustup toolchain install nightly --component rust-src --target x86_64-unknown-uefi
$ bash build/make-image.sh
$ bash build/qemu-run.shLinux details PS> rustup toolchain install nightly --component rust-src --target x86_64-unknown-uefi
PS> powershell -ExecutionPolicy Bypass -File build\make-image.ps1
PS> powershell -ExecutionPolicy Bypass -File build\qemu-run.ps1Windows details Prefer WSL2? Use the Linux flow unchanged inside WSL. Set MIROX_OVMF when firmware lives outside a standard path.
The next instruction is yours.