Back to blog

BeanieOS: a hobby OS with a Rust kernel

Oct 29, 2026

rustosdevkerneloperating-systems

Writing an operating system from scratch

BeanieOS is a hobby operating system I'm building with a kernel written from scratch in Rust. It boots with Limine and runs on bare metal (well, QEMU). No existing OS underneath.

What works today

The kernel currently has interrupt handling, memory management, a basic process system, and a command-line shell. It also has a non-VESA framebuffer display and a FAT32 filesystem with read and write support.

User programs run on it now, loaded as ELFs by the kernel itself.

Running it

make setup  # installs the nightly toolchain and qemu dependencies
make run    # builds the disk image and boots it in qemu

You'll need the Rust nightly toolchain - the kernel uses nightly-only features.

What's next

The current focus is getting programs compiled against musl libc on Linux to run on BeanieOS too, replacing the current minimal custom userspace libc. After that, more Unix features.

I'm also writing docs and a guide alongside the code. Good Rust osdev resources are scattered, so the goal is to make it easier for the next person to get started.

TL;DR

BeanieOS is a from-scratch hobby OS with a Rust kernel: it boots, manages memory, runs a shell and user programs, and reads and writes FAT32. Next up is musl support and more Unix features.

Source code