iSH, czyli instalujemy Linuksa na zwykłym iPhonie czy iPadzie. Apple chyba tego nie polubi

Strona główna Aktualności
image

O autorze

Liczba aplikacji w AppStore przekroczyła 2 miliony. Ile z tych aplikacji nadaje się do poważnej pracy? To pytanie raczej bez sensu, ostatecznie na mobilnym sprzęcie Apple’a korzysta się z oprogramowania w zupełnie inny sposób niż na komputerze osobistym, służy ono głównie do konsumpcji treści. Jednak można sobie wyobrazić, że wśród chmary posiadaczy iUrządzeń są i tacy, którzy chcieliby np. edytować plik tekstowy w niezawodnym vi. Dla nich powstał iSH, czyli linuksowa powłoka dla urządzeń z iOS-em.

Od razu wyjaśnijmy: Apple to nie Microsoft i z Linuksem samo nie nic wspólnego. iSH-a nie zainstaluje się też z AppStore. Na szczęście nie trzeba jednak w tym celu robić jailbreaka. Pierwszym krokiem do zainstalowania linuksowej powłoki jest zainstalowanie z oficjalnego sklepu aplikacji TestFlight, służącej testerom do instalowania wersji beta oprogramowania.

Następnie należy otworzyć w mobilnej przeglądarce stronę stronę projektu iSH Shell i tapnąć przycisk Start Testing. To otworzy aplikację TestFlight, w której można będzie zaakceptować zaproszenie do testowania iSH. Po zainstalowaniu iSH-a można go już uruchomić tapnięciem w ikonę, tak samo jak każdą inną aplikację iOS-a.

Co wówczas? Wówczas dochodzi do strasznych rzeczy. Autor uczciwie ostrzega, że jego kod może powodować raka, uszkodzenia płodów i bezpłodność. To oczywiście żart, ale faktycznie iSH jest dziwny. Wykorzystuje emulację x86 w trybie użytkownika i translacji wywołań systemowych, wspieraną przez osobliwą odmianę kompilatora JIT. Nie celuje on w kod maszynowy, zamiast tego generuje tablicę wskaźników do funkcji-gadżetów napisanych w assemblerze, a każdy taki gadżet kończy się wywołaniem kolejnej funkcji. Wydajność jest świetna, kilkukrotnie wyższa od zwykłej emulacji x86, ale to wszystko za poważną cenę dla łatwości utrzymania i zdrowia psychicznego autora.

Na tym wszystkim uruchamiany jest Alpine Linux, czyli właśnie ten Linux nie mający nic wspólnego z GNU Richarda Stallmana. Zamiast biblioteki standardowej glibc superlekkie musl, zamiast GNU CoreUtils zestaw narzędzi BusyBox, popularnych w systemach wbudowanych i na Androidzie. Do tego powłoka ash, menedżer pakietów APK – i integracja linuksowego systemu plików z aplikacją Pliki i dostępem przez np. iCloud Drive czy Dropboksa.

Czego tu nie lubić? Z dyskusji na Hacker News widać, że ludzie są zachwyceni, szczególnie posiadacze mocniejszych iPadów, którzy chcieliby wykorzystać je np. jako maszyny deweloperskie. W końcu wystarczy napisać apk add python i ma się pythona, a vi jest już preinstalowane. Można powiedzieć że heroiczne osiągnięcie – zarazem wszystko to, do czego Apple nie chciało dopuścić, zapędzając użytkowników iUrządzeń do złotej klatki AppStore.

Jeśli chcecie się pobawić na swoich iPhone’ach czy iPadach tym ciekawym projektem, warto wpierw zajrzeć na stronę projektu na GitHubie.

© dobreprogramy