Linux draait tegenwoordig op heel veel apparaten. Kunnen we Linux draaien op een iPad of iPhone? De iPhone en iPad draaien immers al iOS respectievelijk iPadOS, gebaseerd op BSD Unix. Het antwoord is nu nog “nee”. Maar de open source-wereld biedt wel al andere creatieve oplossingen, die Linux een beetje dichterbij brengen.

Auteur: Marcel Beelen   |  Gepubliceerd in Linux Magazine 2021 – 3

Linux op de iPad of iPhone installeren, dat is nog niemand gelukt. Even van een USB-disk of een SD-kaartje een image booten zit er helaas niet in. Maar er zijn wel andere mogelijkheden en ontwikkelingen om toch wat Linux-gevoel op de iPad of iPhone te krijgen.

 iSH

iSH is een Linux shell voor de iPad. De laatste versie van iSH is van april van dit jaar, is beschikbaar in de App Store en emuleert een usermode x86 emulator. Bij de eerste versie van iSH wilde Apple de app niet publiceren omdat het in iSH mogelijk is alternatieve apps te downloaden en draaien. Met iSH heb je Linux opdrachten ter beschikking omdat het gebaseerd is op het compacte Alpine Linux. Het is een bijzondere ervaring, vi op je iPhone. Met package manager apk is het zelfs mogelijk vim of emacs te gebruiken op de commandline. De code is deels gemaakt in assembler, wat volgens de maker achteraf niet slim is: “Long-term exposure to this code may cause loss of sanity, nightmares about GAS macros and linker errors, or any number of other debilitating side effects”.

Meer informatie: https://ish.app/

 

UTM

UTM is een virtualisatielaag voor de iPad, waarop je Linux draait (of Windows als je dat echt zou willen). Op een oude iPad met iOS 11, 12 of 13 lukt het door middel van sideloading, met een gratis of betaalde Apple developers-account mag je apps downloaden buiten de App Store om. Maar vanaf iOS 14 is een jailbreak de route om UTM aan de praat te krijgen. UTM is gebaseerd op qemu, maar zonder de KVM-versnelling. Doordat er geen hardware-ondersteunde virtualisatie mogelijk is, zelfs niet voor de ARM-processor in de iPad zelf, moet de code gecompileerd worden met JIT. Veel performance hoef je niet te verwachten en grafische spellen doen het zeker niet. Booten duurt zijn tijd, veel geheugen kun je niet toekennen en qua processor is één core is zo’n beetje de limiet. Er zijn een stuk of tien kant-en-klare images te downloaden, geadviseerd worden ARM64 Debian images, die functioneren het beste. Airdrop het uit het uitgepakte .UTM bestand naar de iPad om te starten.

Meer informatie: https://getutm.app/

 

Sandcastle

Project Sandcastle maakt een begin aan de mogelijk om Android op je iPhone te draaien. Android op je iPhone opent deuren voor bijvoorbeeld forensisch onderzoek. De eerste code is al meer dan tien jaar geleden ontwikkeld. Het bedrijf achter Sandcastle is Corellium, dat een virtualisatieplatform (hypervisor) heeft ontwikkeld op ARM-servers, om ARM-devices te virtualiseren. Het Corellium platform biedt (onder meer) een software-gebaseerde iPhone. De kennis hiervoor is gebruikt voor project Sandcastle. Sandcastle is open source en nog in vroege bèta fase. Het werkt alleen op iPhone 7 en wordt nog getest. Je bent gewaarschuwd als je het installeert. Het bestandssysteem APFS wordt in read-only mode gestart om problemen met schrijven in het systeem te voorkomen.

Meer informatie: https://projectsandcastle.org/

Tot slot

De ontwikkelingen gaan moeizaam en we zijn eigenlijk nog ver af van een open source OS op de iPhone of iPad. Maar het zijn boeiende ontwikkelingen om te volgen.