How oosexgang/hakios-xnu-kernel works
HakiOS ports XNU to Android phones and boots it with its own UEFI loader; it also runs in QEMU. The main runtime path is loader handoff to XNU, whose device drivers expose hardware capabilities to user space. The repository also contains a native Adreno Metal implementation and APFS support. The README establishes the high-level product relationships; sampled code confirms details of loader behavior, selected drivers, and Metal rendering. Most driver and user-space internals were not sampled, so their connections are shown only where documented.
Main entry points: files XNU kernel · drivers Hardware drivers · loader.c XNU loader · src HakiOS user space
Components 17
Boot and kernel
- XNU loader
xnuloader/loader.c - XNU kernel
xnu/files - QEMU runtime
qemu
Device drivers
- Hardware drivers
drivers - Touch input
drivers/input/hakios.goodix.c - Audio drivers
drivers/audio - Camera drivers
drivers/camera - Wireless drivers
drivers/wifi
Graphics stack
- Adreno driver
drivers/gpu/hakios.adreno.c - HakiOS Metal
hakios-metal/src/render.cpp - EAGL graphics
userland/src/eagl.c
Storage and images
- UFS storage
drivers/storage/hakios.ufs.c - APFS kernel support
xnu/files/bsd/miscfs/apfs - System image tools
sysimage
User space
- HakiOS user space
userland/src
Other components
- Device operator
- UEFI firmware
Connections 12
- Device operator → UEFI firmware: starts device
README.md - UEFI firmware → XNU loader: starts loader
README.md - XNU loader → XNU kernel: loads and boots
xnuloader/loader.c - XNU kernel → Hardware drivers: hosts drivers
README.md - Hardware drivers → HakiOS user space: provides hardware support
README.md - Hardware drivers → Touch input: includes
drivers/input/hakios.goodix.c - Adreno driver → HakiOS Metal: serves GPU commands
README.md - HakiOS user space → EAGL graphics: includes graphics implementation
userland/src/eagl.c - XNU kernel → UFS storage: includes storage driver
drivers/storage/hakios.ufs.c - XNU kernel → APFS kernel support: includes filesystem support
README.md - Device operator → System image tools: prepares system image
- QEMU runtime → XNU kernel: runs kernel
README.md