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?
operating-systems
Mick MacCallum
quelle
quelle
Antworten:
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.
quelle
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 ...
quelle
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
quelle