Getting started
Three ways in, from the one that needs nothing to the one that needs a phone. Each page says what you need, what to run, what you should see, and what to check when you do not see it.
| What you get | What you need | Time | |
|---|---|---|---|
| The open kernel in QEMU | the kernel, the loader and a tiny user space, booting | a Linux or macOS machine, QEMU | minutes |
| iOS in QEMU | the lock screen and the home screen in a window | Linux, 12 GB of disk, Apple's IPSW (downloaded for you) | an hour, mostly downloads |
| On the phone | the system on a POCO X5 Pro 5G, in RAM | the phone, its boot loader unlocked, adb and fastboot |
an hour the first time |
Building from source is optional for all three: prebuilt/ has a kernel, a loader and libraries made from these repositories.
Building from source when you change something.
Your machine
| Host | What works | Notes |
|---|---|---|
| Linux x86-64 | everything | the reference: CI runs here |
| macOS (Apple silicon) | building the kernel, the loader, user space; the tests | QEMU from Homebrew for running; the phone through adb/fastboot |
| Windows | everything, split between WSL 2 and Git Bash | Windows says what runs where |
make doctor checks the machine (and a phone on adb) for what HakiOS needs, and says what to install.
Where to go next
- Architecture: how a boot goes, from UEFI to the home screen, and which part does what.
- Configuration: defconfigs, fragments, and what a
CONFIG_symbol turns into. - Port a device: your own phone, step by step.