rusix
An experimental Linux fork

Keep the boundary.
Rework the kernel.

Rusix is taking an incremental path toward a Rust-native kernel: preserve Linux behavior where it matters, and change the implementation within.

rusix / datum01
Datum: a squared lowercase r between opposing registration corners
Linux-compatible externally.
Rust-native internally.
The direction.
Not the current state.
Foundation stage · Not for hardware installation.Open source. Built on Linux history. Working toward Rust.
01 / The approach

Compatibility is
a behavior contract.

The goal is not a line-by-line translation that keeps C-shaped internals forever. It is a Rust-native kernel with Linux-compatible external behavior.

Start with a small, defined boundary. Compare the existing implementation and its Rust replacement. Prove the replacement is in the real execution path. Then work toward coherent Rust subsystems.

Read architecture decision 0001
Preserve at the boundary

Linux behavior

Observable semantics, supported interfaces and data formats.

Rework within it

Rust implementation

Ownership, lifetimes and Rust-native internal interfaces.

A migration policy, not a claim of full compatibility. Most of the kernel remains C.

02 / Current state

Small steps.
Explicit evidence.

A foundation to examine, not a kernel to install. Scope and limitations travel with every result.

Public evidence
x86_64 · VM

The first migration: int_sqrt

Recorded kernel comparisons exercise the C implementation and Rust replacement against the same resolved configuration and tests. This establishes a narrow integer-square-root milestone—not a completed rewrite.

Read the verification record
Local verification
ARM64 · QEMU virt

ARM64 bring-up is local, pending publication.

A Rust-enabled Image build and QEMU virt KUnit boot have been verified on the local development branch. That work is not yet public evidence. It does not establish physical ARM hardware or Apple M1 support.

Still ahead
Coverage & migration

Broader verification. Coherent subsystems.

Module/export behavior, broader configurations, workloads and architecture coverage remain work. There is no production-readiness or performance-parity claim.

Follow the roadmap
03 / Contribute

Bring a careful change.
Bring the evidence.

Kernel work starts with understanding the contract. Documentation,
test coverage and review matter alongside implementation.

  1. 01

    Start with the contributor guide

    Read the architecture, workspace layout and toolchain notes before choosing work. This is a kernel checkout, not a standalone Cargo project.

  2. 02

    Reproduce a bounded result

    Use isolated VMs. Keep build records, warnings and failures. Distinguish host tests, a kernel build and a real VM boot.

  3. 03

    Understand the migration boundary

    Identify callers, invariants and unchanged tests. Keep translation and redesign reviewable; document what remains C.