How sunuwijaya/ios-munch works
HakiOS boots XNU and stock iOS 16.5 user space on Qualcomm Android phones, either on-device or in QEMU; it is a RAM-resident research system, not a flashed ROM. The principal flow is to obtain iOS image parts and device firmware, prepare bootable system/APFS images, load the kernel through the device UEFI/loader path, then run iOS services and hardware drivers. The graph also preserves documented graphics, networking, modem, camera, storage, and jailbreak capabilities. Most subsystem links are README-documented; unsampled internals are represented only at supported directory paths.
Main entry points: files XNU kernel · apfs APFS image tools · loader.c XNU loader · fetch-from-ipsw.py IPSW acquisition
Components 24
Boot and platforms
- Device UEFI
devices/poco-x5-pro/uefi - XNU loader
xnuloader/loader.c - Boot image packager
devices/poco-x5-pro/prebuilt/mkbootimg.py
Kernel and drivers
- XNU kernel
xnu/files - APFS driver
xnu/files/bsd/miscfs/apfs - Persistent storage
xnu/files/bsd/miscfs/apfs/apfs_write.h
Images and user space
- IPSW acquisition
sysimage/fetch-from-ipsw.py - System selection
sysimage/select-system.py - APFS image tools
tools/apfs - iOS job setup
userland/mkjobs.py - iOS user space
userland/src
Device capabilities
- OpenGL ES
userland/src/eagl.c - Display framebuffer
xnu/files/iokit/Kernel/MiniIOMobileFramebuffer.cpp - Wi-Fi driver
wifi/lx/src/lx_80211.c - Cellular stack
xnu/files/bsd/dev - Camera drivers
xnu/files/bsd/dev - Audio and DSP
xnu/files/bsd/dev
Developer tools
- APFS host tool
tools/apfs/apfs-tool.c - Kernel image tool
mkxnuimg.py
Other components
- Operator
- Qualcomm phone
- QEMU host
- Apple IPSW
- Phone firmware
Connections 23
- Operator → IPSW acquisition: requests image
README.md - Apple IPSW → IPSW acquisition: provides source
README.md - IPSW acquisition → System selection: unpacks parts
- Operator → Qualcomm phone: starts session
README.md - Qualcomm phone → Phone firmware: supplies firmware
README.md - Operator → Boot image packager: packages boot
README.md - Boot image packager → Device UEFI: builds platform
- Device UEFI → XNU loader: starts loader
- XNU loader → XNU kernel: loads kernel
README.md - System selection → APFS image tools: prepares inputs
- APFS image tools → iOS user space: builds images
- iOS job setup → iOS user space: configures jobs
userland/mkjobs.py - XNU kernel → APFS driver: mounts volumes
xnu/files/bsd/miscfs/apfs/apfs_lib.h - APFS driver → Persistent storage: supports writes
xnu/files/bsd/miscfs/apfs/apfs_write.h - APFS image tools → APFS host tool: checks images
tools/apfs/apfs-tool.c - XNU kernel → Display framebuffer: provides display
xnu/files/iokit/Kernel/MiniIOMobileFramebuffer.cpp - iOS user space → OpenGL ES: renders via GLES
userland/src/eagl.c - XNU kernel → Wi-Fi driver: hosts networking
- XNU kernel → Cellular stack: hosts modem stack
README.md - XNU kernel → Camera drivers: provides camera
README.md - XNU kernel → Audio and DSP: provides audio
README.md - Operator → QEMU host: runs emulation
README.md - Kernel image tool → XNU loader: prepares payload