oosexgang / hackios-xnu-kernel
git clone https://github.com/oosexgang/hackios-xnu-kernel.git
—
+674
stars, 24h · #32
+674
stars, 7 days · #326
+674
stars, 30 days · #1,232
674
★ total · +674% this week
121
forks · 4 open issues
Star history starts 2026-10-23; the chart appears after the second daily snapshot.
LanguageC
License—
Created2026-10-22 (1d ago)
Last push1d ago
Watchers1
OwnerOrganization
Links
README excerpt
# HackiOS — XNU kernel **HackiOS** boots Apple's open-source **XNU kernel** (`xnu-8796.121.2`, the kernel of iOS 16.5) on Android phone hardware and runs the **unmodified iOS 16.5 user space** on top of it: launchd → backboardd → SpringBoard → apps. Our own EFI loader, our own replacements for Apple's closed drivers, a UEFI port, and a Linux Wi-Fi driver on a compatibility layer make that possible. It runs in two places: - **POCO X5 Pro 5G (redwood, Snapdragon 778G)** — nothing is flashed: the UEFI is started with `fastboot boot`, the whole system lives in RAM, and after a reboot the phone is back in Android; - **QEMU** (`virt`, aarch64) — the same thing on any Linux computer, no phone needed. This repository is half of the project: | Repository | What | |---|---| | **hackios-xnu-kernel** (this one) | XNU patches, the EFI loader, the UEFI port, Wi-Fi, QEMU scripts, `xl`, prebuilt kernel/loader/UEFI, `common/` scripts | | hackios-xnu-userland | our init, injected libraries, launchd jobs, the APFS image builder, the scripts that take iOS out of Apple's IPSW, Metal/Mesa work | > **No Apple files are in either repository.** `ios165/fetch.sh` downloads the iOS 16.5 IPSW from Apple's own CDN > to *your* machine and extracts what is needed there. HackiOS is an independent research project by OOSEX GANG and > is not affiliated with, authorised or endorsed by Apple Inc. iOS, iPhone and Apple are trademarks of Apple Inc. Photographed on the phone, the Adreno GPU drawing (`gpu=1`). More in Screenshots. ## What works | Works | Does not work (yet) | |---|---| | Lock screen, swipe to unlock, home screen with all icons (two pages), stock iOS 16 wallpapers | Cellular, Bluetooth | | System gestures: swipe up (home, app switcher), edge swipe (back), Control Center | Charging under our kernel (the phone only discharges) | | Apps: Settings, Clock, Calendar, Photos, Notes, Safari and more; widgets (Weather, Calendar) on the phone | Metal for apps (in progress: 293 of 456 system shaders already run on the Adreno, see `docs/air.md` in hackios-xnu-userland) | | Phone touchscreen (Goodix GT9916), multitouch, wake on touch; real power and volume keys | App Store content and Apple ID sign-in (no Secure Enclave; FairPlay daemon exits) | | Up to 8 CPU cores (`cpus=8`), big core at 2.4 GHz, ~20 s to the lock screen | Video and Live Photo recording | | Adreno 642L GPU through Mesa/freedreno (`gpu=1`, OpenGL ES for CoreAnimation) | | | Wi-Fi (WCN6750, ath11k): join from Settings, Safari over Wi-Fi, 55–90 Mbit/s | | | Sound (speakers, main microphone), camera in Camera.app (front/rear, preview, focus, HEIC photos) | | | Data that iOS writes survives a reboot (`var_store=1 ufs_write=1`); iOS root volume on the phone's flash | | | Sileo + Procursus (dpkg, apt), tweaks, SSH | | It is a research bench, not a ROM: a session lasts a given number of seconds, then the kernel returns to the loader and hands over its log. ## Quick start: QEMU, no kernel build `prebuilt/` holds the kernel