Были порты Linux на несколько устаревших устройств iOS, последнее поколение которых было основано на Apple A4 SoC (iPhone 4, iPad 1, iPod 4G). Согласно ныне несуществующему проекту iDroid (группа за этими портами), причина того, что Linux (или, точнее, их загрузчик, который может загружать Linux) не был перенесен на более поздние устройства, заключается в том, что нет известных bootrom или iBoot ( загрузчик iOS) уязвимости.
Конечно, эксплойт при загрузке - не единственный способ запустить собственное ядро на устройстве iOS. Каждая современная, популярная, закрытая игровая консоль имеет порт Linux; и, насколько я знаю, Nintendo Switch - единственный, кто делает это через эксплойт (в данном случае BIOS/bootrom). Все остальные использовали реализацию kexec
или что-то еще, что загружает ядро после загрузки. (Например, в Nintendo GameCube и Wii исполняемые файлы, будь то игры или домашние игры), получают полный доступ к аппаратному обеспечению, так что это не совсем kexec
, поскольку исполняемое ядро Linux не «заменяет» существующее работающее ядро.)
С таким количеством джейлбрейков iOS, сколько имеется для запуска неподписанного кода в пользовательском пространстве, несомненно, у пользователя достаточно разрешений для вставки команды kexec
в ядро XNU (используется ядро iOS) и использования ее для запуска ядра Linux. , Почему никто не разработал это? Отсутствие интереса или что-то техническое предотвращает это? И что делает Apple, что все эти производители игровых консолей не могут понять?