Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Apple Open-Sourced the iOS Kernel for ARM CPUs

Apple Open-Sourced the iOS Kernel for ARM CPUs

Leia em Português

This item in japanese

Apple has quietly made available arm and arm64-specific files on its GitHub XNU-darwin repository. While this may not be interesting to all developers, it still enables interesting possibilities for security researchers and others.

Darwin is the codename of the kernel which provides the foundations of iOS and macOS, which Apple originally open-sourced on its website in 2000. This led to some confusion on whether the iOS kernel source code was or was not newly released and whether it is complete or not. In this regard, it seems that the release might not fully support arm64 or Apple latest A11 SoC, but the new files released should make it possible to compile Darwin for ARM. In particular, the README file mentions iOS and the Makefile includes arm/arm64 options.

As to what this could be useful for, being able to build the iOS kernel will not mean it will be possible to install it on a real device, since its bootrom only allows to run signed kernels. Still, building the iOS kernel could be helpful when creating an iOS emulator. Actually, there have already been efforts to create a QEMU-based iOS emulator and it seems they have recently been revived. According to one of the developers involved in the project, “the iOS-specific code will be quite helpful in speeding up bug elimination and the development of the virtual graphics hardware that can get us past a basic graphical framebuffer”. Additionally, the availability of iOS-specific source code will likely make it possible for security researchers to discover new bugs and vulnerabilities, which have been often exploited to create programs to jailbreak iOS and make it possible to download and install non-signed applications, extensions, and themes.

Rate this Article