microZEUS
The whole stack, hand-drawn.Sheet 2/10 — mzOS2

Sheet 2/10 — Operating System

mzOS2

A minimal, multi-architecture operating system with one unified build.

In development
LayerOperating System
LanguageC · x86 asm · ARM asm
Targetsi386 · x86_64 · arm · arm64
Depends onmzBoot · mzBIOS · mzDTB
OrganizationmicroZeus
SourcePrivate alpha — opens with a change order on this site’s log

General notes

mzOS2 is a from-the-ground-up operating system built around a small kernel and a deliberately simple build-and-run workflow. One CMake invocation targets i386, x86_64, ARM, or ARM64 — and all four architectures boot the full kernel lifecycle. The project exists to prove that cross-architecture OS development does not require four different toolchains and four different mental models.

The kernel has grown well past hello-serial: virtual memory with guarded per-process page tables, SMP bring-up with per-CPU state, process management with atomic PID/TID allocation, and userspace programs with their own libc and linker — running with full parity on all four architectures, after arm64 gained a paged kernel on the real long-descriptor MMU, EL0 entry with SVC dispatch, and fork()/clone() to match its siblings. Drivers load dynamically — .ko modules relocated at runtime from disk, through a loader that bounds-checks every on-disk offset and verifies each module against a manifest before loading it — and the running kernel is queryable through /proc (cpuinfo, processes, stat).

The firmware story is vertically integrated: mzBoot, mzBIOS, and mzDTB ship as nested submodules, so the kernel boots on hardware paths that microZeus also drew. Configure, build, and boot into QEMU with three commands — on Ubuntu or macOS, with cross-compilation handled per-architecture by explicit LLVM target triples.

Bill of materials — what’s in the box