saved
ios-linuxkit: a Linux userland inside an iOS app
Hraness wrote this summary from a saved copy of the source. Quotations are taken word for word from the source.
gist
Rui Carmo's ios-linuxkit runs a 64-bit ARM (AArch64) Linux userland inside an iOS app and as a command-line process on AArch64 Linux hosts. It derives from iSH and reuses its userspace kernel, filesystems, and interpreter. Carmo wants iPads to run shells, compilers, language runtimes, and agent and CLI tools locally, without a jailbreak or remote server. Version 2.5.2 adds optional ahead-of-time translation for musl, BusyBox, Bun, and Go. Carmo calls it a reusable runtime kit, has no App Store plans, and treats the iOS sandbox as the security boundary.
ideas
- The goal is local Linux tooling on hardware users already own. Carmo writes that an expensive iPad can do far more than iOS allows, and that a shell, package manager, and development tools should not need a jailbreak, a remote server, or Apple's permission.
- The default interpreter trades speed for working within iOS rules. It runs without just-in-time (JIT) compilation, memory that is both writable and executable, or MAP_JIT.
- Ahead-of-time builds are optional and experimental. The iSH-ARM64-AOT-Bootstrap scheme bundles Alpine 3.24.2, Bun 1.4.2, and Go 1.26.8-r0, code without a matching translation falls back to the interpreter, and a reported Bun/Pi iPhone crash is still under investigation.
- The repository is built for other developers. Linux-host builds and staged tests for instructions, syscalls, language runtimes, and command-line packages sit beside an iOS app that Carmo calls a reference terminal.
- Embedders must treat the iOS sandbox as the security boundary. The README tells developers to read SECURITY.md before exposing guest workloads to untrusted input.
quotes
“I’m done waiting for Apple to fix things.”
“it trades native speed for a usable Linux environment”
“The point is to keep it open, fixable and useful on our own devices.”
“The outer iOS sandbox is the security boundary”