iOS auf einem Raspberry Pi


13

Jetzt verstehe ich, dass es wahrscheinlich unpraktisch wäre, dies zu tun, aber aus dem "weil ich kann" Grund möchte ich versuchen, iOS auf meinem Raspberry Pi zu installieren. (wenn es irgendwann kommt ..)

Ich habe mich nach Beiträgen zu diesem Thema umgesehen und sie scheinen darauf hinzudeuten, dass iOS 3 möglicherweise aufgrund von Hardwareeinschränkungen ausgeführt werden kann, aber wie schwer könnte das wirklich sein? Vor Jahren habe ich ein paar OS X86-Computer eingerichtet, und obwohl ein Schmerz am Ende durchaus möglich war. (offensichtlich)

Meine allgemeine Frage lautet also: Was muss ich tun / lernen, um zu versuchen, iOS auf einem Raspberry Pi zu installieren?


Ich wollte gerade die übliche Antwort von "Nein, zum letzten verdammten Mal kannst du keine Windows- oder andere Linux-Distributionen installieren, weil sie nur x86 sind" geben, aber dann bin ich wie ... iOS ... ARM ... gute Idee: P
Alexander - Reinstate Monica

1
Ich denke, die Geräte-Hardware ist zu spezialisiert, um auf einem RPI iOS laufen zu lassen ... Grafikschnittstellen, USB-Unterstützung, Ethernet über USB usw.
Alexander - Reinstate Monica

@XAleXOwnZX Jetzt bin ich mir nicht sicher. Obwohl es manchmal schwierig werden kann, können Sie immer einen Treiber schreiben! Was ich für den problematischsten Teil halte, wird das Ende der Benutzeroberfläche sein.
Mick MacCallum

Wie würden Sie damit umgehen? Die Tastatur- und Mausunterstützung wurde in iOS seit iOS 5 auf iPads nicht mehr eingeführt. Ich meine, es würde keine Unterstützung für einen Mauszeiger geben, wie es auf einem aktuellen iPad mit einer Bluetooth-Maus der Fall ist
Alexander - Reinstate Monica

1
@XAleXOwnZX Ich bin mir ziemlich sicher, dass Sie mit fast allen vorhandenen Linux-Distributionen Ihren eigenen Kernel kompilieren und sogar vorkompilierte Pakete für ARM erhalten können. Daher denke ich, dass es falsch ist, den Leuten zu sagen, dass Sie Windows oder andere Linux-Distributionen nicht installieren können
Petr

Antworten:


19

Obwohl Apples iOS für Benutzer attraktiv ist, ist iOS für Sie am wenigsten freundlich, wenn Sie ein Enthusiast (Sie müssen den Raspberry Pi haben) oder ein Entwickler sind.

iOS wird speziell für jedes Modell des iPad oder iPhone von Apple mit spezifischer Integration von Hardware und Software für die Plattform kompiliert. Im Wesentlichen ist die gesamte Software ein riesiger binärer Blob. Jemand erwähnte in den Kommentaren, dass es viele Hardware-Ähnlichkeiten zwischen dem Raspberry Pi und einigen Modellen des iPhones gibt. Ihre größte Hoffnung, iOS auf Raspberry Pi zum Laufen zu bringen, besteht darin, ein Firmware-Image für ein Telefon zu finden, dessen Hardware der des Raspberry Pi am ähnlichsten ist, und dann zu versuchen, es zum Laufen zu bringen. Wie bei den meisten plattformspezifisch kompilierten Abbildern ist es jedoch wahrscheinlich, dass selbst geringfügige Abweichungen der laufenden Umgebung von der erwarteten Umgebung zu einem nicht mehr startfähigen System führen. Wenn das der Fall ist, Dann müssen Sie höchstwahrscheinlich auf Reverse Engineering zurückgreifen und den Binär-Blob mit verschiedenen Hardwaretreibern oder -konfigurationen hacken. Dies ist möglicherweise nicht ganz einfach und würde sich selbst für ein Team kompetenter und erfahrener Ingenieure als Herausforderung erweisen.

Als solches sind sehr umfangreiche Kenntnisse der spezifischen Hardware verschiedener iPhone-Modelle sowie sehr gute Kenntnisse des Low-Level-Startvorgangs erforderlich, den sowohl der Raspberry Pi als auch iOS verwenden. Schauen Sie sich außerdem die Architektur von iOS an, die meines Wissens vage auf dem Darwin-System basiert. Zu diesem Zweck können Sie sich mit den verschiedenen Methoden des Jailbreaking und deren Funktionsweise befassen.

Erwähnenswert ist auch, dass die Rechtmäßigkeit solcher Handlungen fraglich ist, da es wahrscheinlich mehrere Verstöße gegen den EULA gibt. Das offensichtlichste davon ist die Bedingung, dass Apples Betriebssystem nur auf Apple-Hardware ausgeführt wird. Jailbreaking ist technisch legal, aber Reverse Engineering ist nur manchmal gesetzlich geschützt und wurde nie wirklich konsequent angewendet. Das Cydia-Projekt und viele der darauf befindlichen Apps können einige Anpassungen für iOS vornehmen. Das Wissen, wie man das macht, kann sich mit dem Wissen überschneiden, wie man es auf Raspberry Pi zum Laufen bringt.

Trotzdem habe ich einige erstaunliche und schwierige Projekte gesehen, die entstanden sind, weil sich eine Community engagierter Entwickler und Hacker zu einem gemeinsamen Ziel zusammengeschlossen hat, zum Beispiel das Xbox-Linux-Projekt oder, wie Sie bereits betont haben, das OSx86-Projekt . Es ist sicherlich nicht unmöglich, iOS auf dem Raspberry Pi auszuführen, aber was möglich ist, ist nicht immer praktisch. Sie können mehr Spaß und weniger Ärger mit Android haben, da es Open Source ist. Das heißt, wo ein starker Wille ist, ist auch ein Weg.


0

Am besten dekompilieren Sie das gesamte Boot-Image und rekonstruieren es von Grund auf, indem Sie es an die Pi-Spezifikationen anpassen. Das Problem dabei ist, dass Sie ein extrem umfangreiches Wissen über das Codieren in mehreren Sprachen benötigen (die Leute, die dies entwerfen, haben mehrere Jahre im Job zusammen mit spezifischen Schulungen). Es wäre fast unmöglich, aber es gibt eine Chance ...


0

Ich bin mir nicht sicher, aber einige der ersten Versionen von iOS wurden für so etwas wie einen Armv6 entwickelt, daher ist die Hardware möglicherweise ähnlich, und Sie müssen einige grafische Kontexte für das System erstellen (ich weiß nicht, ob Sie In der Lage sein, die Grafikbeschleunigung zu portieren, die komplex zu tun ist) und die gesamte Hardware wie die Ports, Controller und Speicher. Ich fand das, aber es ist ein ziemlich anfänglicher Zustand; http://winocm.com/projects/research/2013/11/22/milestone-one/ Probieren Sie also einen benutzerdefinierten Mach / xnu-Kernel für das RPi aus und starten Sie ihn. Dann sehen Sie, was passiert

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.