amoeba

Home
Login

Home

amoeba

A small x86-64 microkernel written in Rust, and the user-space programs that run on it.

The kernel supplies mechanism — the syscall gate, IPC, the service registry, memory mapping — and never policy: drivers and resource managers are ordinary user-space servers that the kernel loads as boot modules and starts.

Nothing here is inherited: the tree is one Cargo workspace of sixteen crates, and the boot path is Limine handing over to a kernel that brings up its own frames, pages, tasks and servers.

Build it

nix run .#run      # build the ISO and boot it in QEMU
nix run .#iso      # just write target/amoeba-amd64.iso
nix run .#check    # format, clippy, tests, bare-metal builds

The flake at the root is the whole environment: toolchain, nu, QEMU, xorriso and Limine. nix develop drops you into it interactively.

Inside

kernel/ is the microkernel as a library; amd64/ is its x86-64 backend and the crate that builds the binary. Around them sit the servers that make the machine usable — memory, clock, keyboard, display, serial, shell — each a normal program linked against sdk/, each a workspace member.

Read it

Get a copy

fossil clone https://amoeba-kernel.org amoeba.fossil
fossil open amoeba.fossil

The same history is exported read-only to Git at codeberg.org/amoeba-kernel/amoeba.