[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105263":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":16,"compositeScore":17,"rankGlobal":8,"rankLanguage":8,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":8,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},105263,"hakios-xnu-kernel","oosexgang\u002Fhakios-xnu-kernel","oosexgang",null,"C",2019,347,11,7,0,42,126,92.79,"Other",false,"main",true,[],"2026-11-01 00:12:59","# HakiOS\n\nEnglish · [中文](README.zh.md) · [Українська](README.uk.md)\n\n**Apple's open-source Darwin kernel (XNU, xnu-8796.121.2) on Android phones with a Qualcomm SoC**, the way Android is Linux on\nphones: a boot loader of its own, drivers of its own, a configuration system and a version of its own. The same kernel runs in\nQEMU with nothing of Apple's and nothing of any phone's (`make qemu-open`).\n\n**Documentation: [docs\u002F](docs\u002Findex.md)**, also on the project's website (`hakios-web`). Start with [Getting started](docs\u002Fgetting-started\u002Findex.md), [Port a device](docs\u002Fporting\u002Findex.md) or the\n[Architecture](docs\u002Fconcepts\u002Farchitecture.md).\n\n## What works\n\n| | POCO X5 Pro 5G (`redwood`) | QEMU `virt` |\n|---|---|---|\n| Lock screen, home screen, Control Center, the stock apps | yes | yes (slow: the CPU is emulated) |\n| Touch, multitouch, buttons | yes | yes |\n| All 8 CPU cores, the big one at 2.4 GHz | yes | no |\n| GPU rendering on Adreno (OpenGL ES through Mesa) | yes | no |\n| Speakers, microphone, the battery's level | yes | sound only |\n| Wi-Fi, cameras, vibration | yes | network only |\n| `\u002Fprivate\u002Fvar` kept across reboots, Sileo, SSH | yes | no |\n| Metal | partly: a device Metal loads; buffers and libraries; nothing drawn yet | partly |\n| Cellular | partly: the modem is up, the SIM bound, the network seen; no registration yet | no |\n| Bluetooth, charging under this kernel, Apple's services | no | no |\n\nEvery part, as each device's own `device.conf` records it: [Devices](docs\u002Fdevices\u002Findex.md). The rows about the lock screen and the\napps describe what happens when you add layer 2 below yourself.\n\n## The three layers\n\n1. **The open core**: the kernel port, the loader, the drivers, the tools. All source, in these repositories.\n2. **What you put on top**: the kernel can start a user space that you supply. It was built so that it can start the Darwin userland 16.5\n   user space, which you lay out yourself from files you download from Apple; nothing of it is shipped, and nothing is\n   circumvented to get it. Whether you may do that, and whether you want to, is your decision.\n3. **Apple's services** (activation, Apple ID, iCloud, the App Store): not supported and not a goal.\n\nBy default the loader goes into RAM through `fastboot boot`, the system lives in RAM for a session, and a reboot brings the phone\nback to its own Android. The one thing written by default is the loader's own log (a few KB) to the `logdump` partition; with\n`ufs_write=1` the kernel writes only to a partition `darwin` that you create yourself. This is a research bench, not a ROM.\n\n## Quick start\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Foosexgang\u002Fhakios-xnu-kernel.git hakios\ncd hakios\nmake doctor           # what this machine lacks, and what to do\nmake qemu-open        # the open kernel in QEMU: nothing of Apple's, nothing of a phone's\n```\n\nDarwin in QEMU (Linux, 12 GB of disk, Apple's IPSW downloaded for you), and a session on the phone:\n[QEMU](docs\u002Fgetting-started\u002Fqemu.md), [On the phone](docs\u002Fgetting-started\u002Fphone.md).\n\n```sh\nmake redwood_defconfig   # the phone's configuration: the common kernel + the SC7280's + the phone's own\nmake kernel              # the kernel with the drivers that configuration builds\nmake phone SECS=600      # a 10-minute session on the phone, in RAM\n```\n\n## Repositories: common, SoC, device, UEFI\n\n| Repository | What |\n|---|---|\n| [hakios-xnu-kernel](https:\u002F\u002Fgithub.com\u002Foosexgang\u002Fhakios-xnu-kernel\u002Ftree\u002Fmain) | **common**: the kernel port, every common driver, the loader, user space, the tools, this documentation, and `devices\u002Fqemu` |\n| [hakios-sm7325](https:\u002F\u002Fgithub.com\u002Foosexgang\u002Fhakios-sm7325) | POCO X5 Pro 5G: its defconfig, status, UEFI platform, firmware script, and its SoC's layer (`soc\u002F`: the Qualcomm SC7280 family) |\n| [hakios-uefi](https:\u002F\u002Fgithub.com\u002Foosexgang\u002Fhakios-uefi) | the firmware that starts the loader: Mu-Silicium with HakiOS's boot path, banner and name, and HakiOS's U-Boot (`u-boot\u002F`) |\n| [hakios-metal](https:\u002F\u002Fgithub.com\u002Foosexgang\u002Fhakios-metal) | Metal's command model on the Adreno, through the kernel's GPU driver |\n\n`devices\u002Fmanifest.conf` in the common repository names each one and the revision it is at; `tools\u002Fhakios-device.py sync` clones them\ninto `devices\u002F` and `uefi\u002F`. One repository per device: it carries its SoC's layer, and `tools\u002Fhakios-device.py new` makes one. [How the repositories fit](docs\u002Fporting\u002Frepositories.md).\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Foosexgang\u002Fhakios-xnu-kernel.git hakios && cd hakios\ntools\u002Fhakios-device.py sync      # the SoC, device and UEFI repositories, at the revisions the manifest names\n```\n\nA device of your own is a repository over the common one: `tools\u002Fhakios-device.py new` makes it from the phone's own device tree,\nwith every phone driver left out until it is ported. Each driver is an option of the kernel's own configuration (`CONFIG_HAKIOS_*`,\nXNU's `options` and `conf\u002Ffiles`), so a device's defconfig builds exactly the drivers it has.\n[Port a device](docs\u002Fporting\u002Findex.md), [Drivers in the configuration](docs\u002Fdrivers-config.md).\n\n## What is in the repository, and what never is\n\nIn it: only our own code and data: the patch to Apple's open-source XNU (`xnu\u002Fhakios.patch`, APSL 2.0) and our files, the boot\nloader, our programs and libraries, the tools, `prebuilt\u002F` (built from this source; the loader **without** any Apple data:\n`make loader` makes the one that starts Darwin, on your machine, from your own IPSW), and the device and SoC directories.\n\nNever in it: any file of Darwin (you build the system image on your machine from an IPSW you get yourself and hand to\n`sysimage\u002Funpack.sh`; nothing is downloaded for you, decrypted or circumvented); the phone's firmware (pulled from your own phone into\n`fw-*\u002F`, which git ignores); keys, certificates, activation, or anything that would make the phone pass as an iPhone to Apple.\n\n## Independent, and Apple-free at the core\n\nHakiOS is an independent research project. It is **not affiliated with or endorsed by Apple**;\n\"Darwin\", \"iPhone\", \"XNU\" and \"Apple\" are named only to describe what the code works with. The core\nkernel, the boot loader and the open tools build and run with nothing of Apple's:\n\n```sh\nmake qemu-open      # the open kernel + a placeholder loader + a tiny raw-syscall user space, in QEMU\n```\n\nNo IPSW, no Darwin user space, no firmware. Booting the stock Darwin user space (`make qemu`,\n`make phone`) is an optional path that needs the IPSW and the phone's firmware, which you supply\nfrom your own device.\n\n## Licenses and the legal side\n\nMy code is under the license of the files it changes: the XNU patch under the Apple Public Source\nLicense 2.0 (Apple publishes XNU under it; the terms are met: changes are published as source,\nnotices are kept), the rest as the file headers say. Darwin, its images, Apple's trademarks and the\nphone's firmware belong to their owners, are not in this repository and are not distributed by me;\neveryone takes them from their own phone and their own IPSW. \"Darwin\", \"iPhone\" and \"Apple\" are\nnamed only to describe what the code works with. If you believe a file here infringes anyone's\nrights, open an issue and I will remove it.\n\nThe detail is in separate files: `LEGAL.md` (what is and is not distributed, and the limits of\nthese statements), `COMPLIANCE.md` (how the APSL 2.0 and other terms are met, and the items still\nto verify), `THIRD_PARTY_LICENSES.md` (every third-party component with origin and license), and\n`NOTICE` (the short canonical list). None of this is legal advice.\n\nhakios is an experimental project focused on bringing darwin to android hardware. our goal is to make hakios free and accessible to everyone.\n\nowners:\n@oodze - founder\n@netusd - adversting \u002F ceo-dev\n@wannqn - dev \n@hxfuxyyXD - dev\nRhaenja Hun（杭润嘉） — Developer \u002F Sponsor\n\ntym sicilium for the sources!\n\n",2,"2026-10-31 04:26:16","CREATED_QUERY"]