A small operating system built from scratch in Zig for x86-64, as a long-term learning project.
This is not an attempt to build a production-grade OS or compete with Linux. The objective is to understand operating systems by progressively building a real kernel and userspace environment, starting from the smallest thing that can honestly be called a kernel: booting in QEMU, printing text, and halting. From there, one working subsystem at a time.
| Component | Choice |
|---|---|
| Language | Zig (0.16.0, pinned) |
| Target | x86_64-freestanding |
| Bootloader | Limine |
| Emulator | QEMU |
Phase 1 complete: the kernel boots in QEMU and fills the screen matrix
green. Serial output (02-serial) is working — zig build run prints
kernel boot messages to the terminal. See ROADMAP.md for
progress and next steps.
- Zig 0.16.0
limineutility- QEMU (
qemu-system-x86_64) xorriso
zig build # builds the kernel and a bootable ISO (zig-out/bin/zigos.iso)
zig build run # boots the ISO in QEMU