finds.dev← search

// the find

haileys/rustboot

★ 1,548 · Ruby · MIT · updated Jan 2026

A tiny 32 bit kernel written in Rust

rustboot is a 32-bit x86 kernel written in Rust, built on the zero.rs stub that lets Rust run almost freestanding. Its only behaviour is painting the screen red and hanging, so treat it as a reference for how a bare Rust binary gets from boot to Rust code, not as a base for an OS. It suits people who want to see that handoff spelled out in a handful of files.

- The boot path is split into three small pieces: loader.asm for the entry stub, linker.ld for the memory layout, and main.rs for the Rust side, with a Makefile tying them together. That is about the minimum needed to see how a freestanding Rust binary is assembled.

- It builds on zero.rs, and the README credits that directly, so you can trace where each piece came from.

- It runs under qemu, so the loop is compile, boot, look at the screen, with no hardware required.

- The kernel does one thing: fill the screen red and hang. There is no interrupt handling, no memory management, and no scheduler, so anyone who wants to learn kernel structure from it will be writing all of that from scratch.

- The README asks for Rust 0.7 or an old master checkout of the pre-1.0 compiler. Expect to port the code before it builds on current rustc. The README does not mention that.

- The setup section covers OS X only, with Homebrew nasm, a hand-built binutils 2.24, and a source build of Rust. Linux and Windows users have to work out the equivalent toolchain themselves.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →