CapazOS is a from-scratch AArch64 OS project that separates low-level kernel mechanisms from higher-level Core policy code.
Current active targets:
aarch64-virton QEMUvirtaarch64-rpi3bring-up sources exist, butvirtis the primary validated runtime path
Implemented and in active use:
- Platform layering split into architecture, board, and HAL surfaces
- HAL surfaces for
uart,timer,irq,mmu,block,clock, andmailbox - Virt bring-up with UART logging, MMU setup, GIC/timer wiring, and block I/O via virtio
- Loader target for
virtwith:- GPT partition discovery
- FAT16 volume parsing
- ELF kernel loading (
KERNEL.ELF/KERNEL8.ELF) boot_infohandoff (including DTB pointer when available)
- Kernel + Core filesystem support:
- Shared FAT parsing support
- FAT16 and FAT32 read/write integration in Core-facing APIs
- Format-agnostic FS calls used by Core services
Not implemented yet:
- Hardware trust chain enforcement (secure boot/attestation)
- Apple Silicon heterogeneous intent scheduling across CPU/GPU/NPU blocks
- Power contract and deterministic energy budget model
- User-space driver model and full capability-isolated user process model
Kern/kernel, arch code, HAL, loaderCore/Swift Core layer and shared filesystem logicScripts/build and packaging scriptsDocs/design and bring-up notes
From /Users/cosas/CapazOS/Code/OS:
Build loader and kernel (default):
./Scripts/build.shBuild only loader:
./Scripts/build.sh --loaderBuild only kernel:
./Scripts/build.sh --kernelSelect platform explicitly (default is aarch64-virt):
./Scripts/build.sh --platform aarch64-virtCommon outputs in /Users/cosas/CapazOS/build/:
loader.binkernel.imgkernel.elf
Kernel image direct boot (virt):
qemu-system-aarch64 \
-machine virt,gic-version=2 \
-cpu cortex-a53 -smp 2 \
-m 128M \
-nographic \
-serial mon:stdio \
-kernel /Users/cosas/CapazOS/build/kernel.imgLoader boot (virt) with disk image:
qemu-system-aarch64 \
-machine virt,gic-version=2 \
-cpu cortex-a53 \
-m 128M \
-nographic \
-serial mon:stdio \
-kernel /Users/cosas/CapazOS/build/loader.bin \
-drive if=none,file=/Users/cosas/CapazOS/disk.img,format=raw,id=hd0 \
-device virtio-blk-device,drive=hd0Loader disk requirements today:
- GPT disk
- At least one non-empty GPT partition
- FAT16 filesystem in selected partition
KERNEL.ELForKERNEL8.ELFat FAT root or subpath handled by loader lookup