Rose

The kernel at the base of Meridian. Rose is a capability-based microkernel written from scratch in Rust, not Unix and not NT, developed QEMU-first and checked on real hardware.

Rust Phase 0 · kernel bring-up GitHub

What Rose is

Rose is the kernel, not the operating system. Meridian is the operating system, and it will be assembled from several components built one at a time; Rose is the one at the base. It's written from scratch in Rust and isn't derived from Unix or from Windows NT. As a capability-based microkernel, Rose is the foundation the rest of Meridian stands on, not the whole system.

Capabilities are the core idea. Nothing in Rose has ambient authority the way a Unix process runs as root. A component can only touch what it has been handed, as an unforgeable token, so the line between what code can and can't do is concrete instead of assumed.

Development is QEMU-first. Rose boots under emulation, where the whole thing can be inspected, changed, and reset in seconds; every milestone is then re-checked under hardware virtualization in VirtualBox before it counts as done, which has already caught real bugs the emulator never triggered.

The design bets

Bespoke where it matters, standard where it doesn't

Rose builds original where a piece defines what it is, and takes the standard where a piece is only compliance. The capability model, IPC, and component graph are bespoke, because that's what makes Rose neither Unix nor NT. The boot chain isn't: it uses Limine, because BIOS and UEFI bring-up is a solved problem with no design worth reinventing. The same test gets applied to everything that comes later, from storage to drivers to the interface.

What's running

Rose is early, but it's real code that boots, not a paper design:

Still ahead: boot handoff, a real component model, and the adaptation layer below. The foundation is being finished before the house goes up.

Where this is headed

The kernel is the groundwork for the same idea Compass is testing over on Meridian OS, made native. The end state is a system that watches, in real time, how it's actually being used and adapts to the person, instead of making the person adapt to it. On Debian that lives in Compass, an app on top of a generic OS. In Meridian it's meant to be built in, native to the system rather than an app sitting on top.

It carries no commercial cruft: no telemetry, no ads, no forced accounts, none of the weight an OS hauls around for a business model Rose doesn't have. That adaptation layer is deferred on purpose; it needs capabilities, IPC, and a real component graph to observe before it can mean anything, and those are being built first.

Rose is one piece of a much larger build, made from scratch by one person, on its own timeline. Each part is built on its own, then brought together later.

At a glance

Language
Rust (no_std, edition 2021)
Type
Capability-based microkernel, IPC-first
Boot
Limine (BIOS + UEFI)
Dev & test
QEMU first, VirtualBox for real-hardware checks
Stage
Phase 0, kernel bring-up

Into kernels, Rust, or capability systems? Rose is public on GitHub; the repository has the full picture, and the changelog here carries the highlights.

← Meridian OS Next: Waypoint →