LockerGnomeTech news and nostalgia for today's technology professionals
Subscribe

Search

SoftwareKernariumAndariumLinuxiOSUser-mode LinuxTestFlight

Kernarium runs a real Linux kernel natively inside an iOS app, and its Andarium Android emulator is in TestFlight beta

The kernel is compiled to native arm64 code, graphics go through Vulkan on top of Metal, and only the Android app is open to testers, in a beta whose 10,000 slots the README says fill up quickly.

Chris, a tiny figure inside a ship in a bottle, hauls a rope to raise a sail on the little ship's deck.
Illustration: LockerGnome

The README’s first line is the pitch: “Run a real Linux kernel natively on iOS, through the magic of [User-mode Linux].” User-mode Linux is the old trick of running the kernel as an ordinary process instead of as the thing in charge of the hardware. Kernarium takes that kernel, compiles it to native arm64 code and links it into an iOS runtime framework. The README puts it flatly: “The kernel runs natively without emulation.”

That leaves the programs running on top of the kernel, and those are not native. “Userspace programs are emulated using an iSH-style threaded interpreter, with SMP support,” the README says. iSH is the existing app that emulates Linux userspace on iPhones, and Kernarium says it sits between that and a full system emulator like UTM. From UTM it borrows a real kernel. From iSH it borrows the shortcut of emulating only userspace.

The real kernel is the point. iSH has to fake a kernel’s worth of behavior, while Kernarium gets the actual thing, so the README says it can use features such as namespaces and SELinux. It also says the project can run Docker containers, Linux desktops, Wine and Proton, and a full Android system “at decent speed on modern iOS devices.” (Decent is carrying a lot of weight in that sentence.)

Graphics are the other half. Kernarium hands guest graphics to KosmicKrisp, a Vulkan-to-Metal translation layer, and lists Vulkan 1.4 support. OpenGL 4.6 and GLES 3.2 come through Zink, and hardware video encoding and decoding for H.264 and HEVC goes through VideoToolbox. So a Linux guest on a phone gets a GPU path that an interpreter alone never could.

Now the catch. The generic Kernarium app is “still at an early stage of development and isn’t ready for release yet,” in the README’s words. The thing you can try is Andarium: “An Android emulator app built on the Kernarium runtime is available in TestFlight beta.” The beta is also capped. “The TestFlight beta only has 10,000 tester slots and gets filled up quickly,” and the alternative is sideloading an IPA from the releases page.

Even then, the TestFlight build is interpreter-only, and the README says the full project supports both interpreter and JIT modes. And if you want to build the Android system image yourself, the README warns it “requires a powerful remote x86_64 Linux building machine.” Your phone can run Android. It cannot compile it.

The README also points people toward AGENTS.md and a docs/ folder for building or embedding the runtime, and suggests using a coding agent to do it. That makes the project an invitation as much as an app: the runtime is built to be embedded.

If the trick spreads, it spreads because emulating a whole machine is the expensive way to run Linux, and linking the kernel into an app skips that bill. Any phone Linux project that used to stop at “userspace only” now has a real kernel to build against, and the README’s own invitation to embed the runtime says that is the plan.

Ten thousand seats go fast.

More Software

Every Software story →