Warum ist es nicht möglich, Linux nativ auf einem jailbreakbaren iPhone auszuführen?

501
Billy

Es gab Linux-Ports für mehrere, inzwischen veraltete iOS-Geräte. Die neueste Generation ist die Generation des Apple A4 SoC (iPhone 4, iPad 1, iPod 4G). Laut dem iDroid-Projekt now- defunct (der Gruppe hinter diesen Ports) wurde Linux (oder genauer gesagt, sein Bootloader, der Linux laden kann) nicht auf spätere Geräte portiert, weil kein Bootrom oder iBoot bekannt ist ( iOS-Bootloader) -Schwachstellen.

Sicherlich ist ein Boot-Up-Exploit nicht die einzige Möglichkeit, einen benutzerdefinierten Kernel auf einem iOS-Gerät zum Laufen zu bringen. Jede moderne, gesperrte Mainstream-Videospielkonsole verfügt über einen Linux-Port. Soweit ich weiß, ist der Nintendo Switch der einzige, der dies durch einen Boot-Up-Angriff (in diesem Fall das BIOS / bootrom) durchführt. Alle anderen haben eine kexecImplementierung oder etwas anderes verwendet, das den Kernel nach dem Booten lädt. (Auf dem Nintendo GameCube und der Wii erhalten beispielsweise ausführbare Dateien, egal ob für Spiele oder Homebrew) vollständigen Bare-Metal-Zugriff auf die Hardware. Dies ist also nicht wirklich der Fall kexec, da der ausgeführte Linux-Kernel keinen "ersetzt" vorhandener laufender Kernel.)

Bei so vielen iOS-Jailbreaks, wie es für die Ausführung von nicht signiertem Code im Benutzerbereich gibt, hat der Benutzer sicherlich die erforderlichen Berechtigungen, um einen kexecBefehl in den XNU-Kernel einzufügen (den Kernel, den iOS verwendet) und diesen zum Ausführen eines Linux-Kernels zu verwenden. Warum hat niemand das entwickelt? Fehlendes Interesse oder gibt es etwas Technisches, das dies verhindert? Und was tut Apple, das all diese Hersteller von Videospielkonsolen nicht verstehen können?

1

0 Antworten auf die Frage