// the find
andrewrk/HellOS
"hello world" x86 kernel example
A minimal i386 'hello world' kernel written in Zig, built by Andrew Kelley (Zig's creator) as a freestanding-target demo. It's for people curious about bare-metal Zig or how to get a Zig program running without an OS underneath it, not for anyone building an actual kernel.
It's a clean, minimal reference for Zig's freestanding target and linker script usage — you can read the whole thing (one .zig file, one linker.ld) in a few minutes and understand exactly what's happening. Coming from the language's own creator, the target flags and linker setup are a reliable example of how Zig expects you to configure a bare-metal build. The qemu testing instructions mean you can verify it boots in under a minute with no real hardware.
It stops at printing to the VGA buffer — no interrupts, no memory management, no multiboot header beyond the bare minimum, so it's not a skeleton you build a kernel on top of, just a proof it compiles and boots. There's no build.zig; the README tells you to invoke zig build-exe directly, which will likely break as Zig's build system and target triples evolve. No CI, no tests, and no commits since January 2023, so there's no guarantee it still builds against current Zig without patching flags yourself.