Почему невозможно запустить Linux на iPhone с джейлбрейком?

Существовали порты Linux на несколько устаревших устройств iOS, последнее поколение которых было основано на Apple A4 SoC (iPhone 4, iPad 1, iPod 4G). Согласно ныне несуществующему проекту iDroid (группа за этими портами), причина того, что Linux (или, точнее, их загрузчик, который может загружать Linux) не был перенесен на более поздние устройства, заключается в том, что нет известных загрузчиков или iBoot (iOS bootloader) уязвимости.

Конечно, эксплойт при загрузке - не единственный способ запустить собственное ядро ​​на устройстве iOS. Каждая современная, популярная, закрытая игровая консоль имеет порт Linux; и, насколько я знаю, Nintendo Switch - единственный, кто делает это через эксплойт (в данном случае BIOS/bootrom). Все остальные использовали kexec реализация или что-то еще, что загружает ядро ​​после загрузки. (Например, на Nintendo GameCube и Wii исполняемые файлы, будь то игры или домашние игры), получают полный доступ к аппаратному обеспечению, так что на самом деле это не так. kexec, поскольку выполненное ядро ​​Linux не "заменяет" существующее работающее ядро.)

С таким количеством джейлбрейков iOS, сколько имеется для запуска неподписанного кода в пользовательском пространстве, несомненно, один дает пользователю достаточно разрешений для вставки kexec введите команду в ядро ​​XNU (используется ядро ​​iOS) и используйте ее для запуска ядра Linux. Почему никто не разработал это? Отсутствие интереса или что-то техническое предотвращает это? И что делает Apple, что все эти производители игровых консолей не могут понять?

0 ответов

Другие вопросы по тегам