iOS na Raspberry Pi

13

Rozumiem, że prawdopodobnie byłoby to niepraktyczne, ale z tego powodu, ponieważ chciałbym spróbować zainstalować iOS na moim Raspberry Pi. (kiedy w końcu nadejdzie ...)

Rozejrzałem się za postami na ten temat i wydaje się, że sugerują, że uruchomienie iOS 3 może być możliwe z powodu ograniczeń sprzętowych, ale jak trudne to może być naprawdę? Wiele lat temu zainstalowałem kilka komputerów z systemem OS X86 i chociaż ból okazał się całkowicie możliwy. (oczywiście)

Więc moje ogólne pytanie brzmi: co powinienem zrobić, aby spróbować / nauczyć się instalować iOS na Raspberry Pi?

Mick MacCallum
źródło
Miałem właśnie przejść do odpowiedzi „Nie, po raz ostatni, nie możesz zainstalować Windowsa lub innych dystrybucji Linuksa, ponieważ są one tylko dla x86”, ale potem jestem jak… iOS… ARM… dobry pomysł: P
Alexander - Przywróć Monikę
1
Myślę, że sprzęt idevice jest zbyt wyspecjalizowany, aby istniała jakaś nadzieja na iOS działający na RPI… interfejsy graficzne, wsparcie USB, ethernet przez usbm itp.
Alexander - Przywróć Monikę
@XAleXOwnZX Zobacz, teraz nie jestem tego pewien. Chociaż czasami może to być trudne, zawsze możesz napisać sterownik! To, co według mnie będzie najbardziej problematyczne, to koniec interfejsu użytkownika.
Mick MacCallum,
Jak byś się z tym pogodził? Obsługa klawiatury i myszy nie została wprowadzona w iOS od czasu iOS 5 na iPadzie. Chodzi mi o to, że kursor myszy nie byłby obsługiwany tak, jak na obecnym iPadzie używającym myszy bluetooth
Alexander - Przywróć Monikę
1
@XAleXOwnZX Jestem prawie pewien, że prawie wszystkie istniejące dystrybucje linuksa pozwalają na kompilację własnego jądra i otrzymały nawet wstępnie skompilowane pakiety dla ARM, więc myślę, że mówienie ludziom „nie możesz zainstalować Windowsa lub innych dystrybucji linuksa” jest w pewnym momencie błędne
Petr

Odpowiedzi:

19

Chociaż iOS firmy Apple jest atrakcyjny dla użytkowników, jeśli jesteś entuzjastą (ponieważ musisz mieć Raspberry Pi) lub programistą, iOS jest dla ciebie najmniej przyjazny.

iOS jest kompilowany specjalnie dla każdego modelu iPada lub iPhone'a firmy Apple ze specjalną integracją sprzętu i oprogramowania dla platformy. Zasadniczo całe oprogramowanie to jedna gigantyczna binarna kropelka. Ktoś wspomniał w komentarzach, że istnieje wiele podobieństw sprzętowych między Raspberry Pi a niektórymi modelami iPhone'a. Największą nadzieją na uruchomienie iOS na Raspberry Pi będzie znalezienie obrazu oprogramowania układowego telefonu, którego sprzęt jest najbardziej podobny do Raspberry Pi, a następnie próba uruchomienia go. Jednak, podobnie jak większość skompilowanych obrazów specyficznych dla platformy, jest prawdopodobne, że nawet niewielkie odchylenia w działającym środowisku od oczekiwanego środowiska spowodują, że system nie da się uruchomić. Jeśli tak się stanie, najprawdopodobniej będziesz musiał uciekać się do inżynierii wstecznej i hakowania binarnego obiektu blob przy użyciu różnych sterowników sprzętowych lub konfiguracji. Może to być bardzo nietrywialne i może stanowić wyzwanie nawet dla zespołu kompetentnych i doświadczonych inżynierów.

W związku z tym niezbędna będzie bardzo obszerna wiedza na temat konkretnego sprzętu różnych modeli iPhone'a, a także bardzo dobra znajomość procesu uruchamiania na niskim poziomie, który będzie niezbędny zarówno w przypadku Raspberry Pi, jak i iOS. Dodatkowo spójrz na architekturę iOS, która, jak rozumiem, jest niejasno oparta na systemie Darwin. W tym celu możesz przyjrzeć się różnym metodom jailbreakingu i ich działaniu.

Warto również zauważyć, że legalność takich działań jest wątpliwa, ponieważ prawdopodobnie istnieje wiele naruszeń umowy EULA, z których najbardziej oczywistym jest zastrzeżenie, że system operacyjny Apple działa tylko na sprzęcie Apple. Łamanie więzień jest technicznie legalne, ale inżynieria odwrotna jest tylko czasami chroniona przez prawo i nigdy nie była tak naprawdę konsekwentnie stosowana. Projekt Cydia i wiele aplikacji, które się w nim znajdują, jest w stanie dokonać drobnych zmian w iOS. Wiedza na temat tego, jak to zrobić, może pokrywać się z wiedzą na temat uruchamiania go na Raspberry Pi.

To powiedziawszy, widziałem kilka niesamowitych i trudnych projektów, ponieważ społeczność zaangażowanych programistów i hakerów połączyła wspólny cel, na przykład projekt Xbox-Linux lub projekt OSx86 . Z pewnością nie jest możliwe uruchomienie iOS na Raspberry Pi, ale to, co jest możliwe, nie zawsze jest praktyczne. Z Androidem możesz mieć więcej zabawy i mniej kłopotów, ponieważ jest to oprogramowanie typu open source. To powiedziawszy, tam gdzie jest silna wola, istnieje sposób.

Dougvj
źródło
0

Powiedziałbym, że najlepszym rozwiązaniem jest dekompilacja całego obrazu rozruchowego, a następnie odtworzenie go od podstaw w celu dostosowania go do specyfikacji pi. Problem polega na tym, że potrzebujesz bardzo dużej wiedzy na temat kodowania w wielu językach (osoby, które to projektują, mają wiele lat pracy wraz ze specjalnym szkoleniem). Byłoby to prawie niemożliwe, ale istnieje szansa ...

Daniel Corcoran
źródło
0

Nie jestem pewien, ale niektóre z pierwszych wersji iOS zostały stworzone dla czegoś w rodzaju Armv6, więc sprzęt może być podobny, a ty będziesz musiał zrobić kilka graficznych tekstów dla systemu (nie wiem, czy „ Będę w stanie przenieść akcelerację graficzną, która jest skomplikowana) i cały sprzęt, taki jak porty, kontrolery i pamięć. Znalazłem to, ale jest w dość początkowym stanie; http://winocm.com/projects/research/2013/11/22/milestone-one/, więc wypróbuj niestandardowe jądro Mach / xnu dla RPi i uruchom je, a następnie zobacz, co się stanie

Dian Aleksandrow
źródło