iOS на малиновом пи

13

Теперь я понимаю, что это было бы непрактично, но по причине «потому что я могу» я хотел бы попытаться установить iOS на Raspberry Pi. (когда это в конце концов наступит ..)

Я искал сообщения на этот счет, и они, кажется, предполагают, что запуск iOS 3 может быть возможен из-за аппаратных ограничений, но насколько сложным это может быть на самом деле? Несколько лет назад я установил несколько машин с ОС OS X86, и, хотя боль оказалась вполне возможной. (очевидно)

Итак, мой общий вопрос: что я должен изучить, чтобы попытаться установить iOS на Raspberry Pi?

Мик МакКаллум
источник
Я собирался перейти к обычному ответу «Нет, в последнее время, черт возьми, вы не можете установить windows или другие дистрибутивы Linux, потому что они только для x86», но тогда я как… iOS… ARM… хорошая идея: P
Александр - Восстановить Монику
1
Я думаю, что аппаратное обеспечение idevice слишком специализировано, чтобы можно было надеяться, что iOS будет работать на RPI… графические интерфейсы, поддержка USB, ethernet через usbm и т. Д.
Александр - Восстановите Monica
@XAleXOwnZX Видите, вот где я не уверен. Хотя иногда это может стать трудным, вы всегда можете написать драйвер! То, что я ожидаю, чтобы быть самой проблемной частью будет конец пользовательского интерфейса.
Мик МакКаллум
Как бы вы взаимодействовали с ним? Поддержка клавиатуры и мыши не была введена в iOS с iOS 5 на iPad. Я имею в виду, что не было бы поддержки курсора мыши, как на текущем iPad, использующем Bluetooth-мышь
Александр - Восстановите Монику
1
@XAleXOwnZX Я почти уверен, что почти все существующие дистрибутивы Linux позволяют вам скомпилировать ваше собственное ядро ​​и даже получить скомпилированные пакеты для ARM, поэтому я считаю, что говорить людям «вы не можете установить windows или другие дистрибутивы Linux» неправильно в какой-то момент
Петр

Ответы:

19

Несмотря на то, что Apple iOS привлекательна для пользователей, если вы энтузиаст (как, должно быть, у вас Raspberry Pi) или разработчик, iOS будет для вас наименее дружелюбным.

iOS скомпилирована специально для каждой модели iPad или iPhone от Apple с особой интеграцией аппаратного и программного обеспечения для платформы. По сути, все программное обеспечение представляет собой один гигантский двоичный объект. Кто-то упомянул в комментариях, что между Raspberry Pi и некоторыми моделями iPhone есть много общего. Ваша самая большая надежда на запуск iOS на Raspberry Pi заключается в том, чтобы найти образ прошивки для телефона, аппаратное обеспечение которого наиболее похоже на Raspberry Pi, а затем попытаться запустить его. Однако, как и большинство скомпилированных образов для конкретной платформы, вполне вероятно, что даже небольшие отклонения в рабочей среде от ожидаемой среды приведут к невозможности загрузки системы. Если это в конечном итоге, тогда, скорее всего, вам придется прибегнуть к обратному инжинирингу и взлому двоичного двоичного объекта с помощью различных аппаратных драйверов или конфигураций. Такое может быть очень нетривиальным и может оказаться сложным даже для команды компетентных и опытных инженеров.

В связи с этим потребуются очень глубокие знания конкретного оборудования различных моделей iPhone, а также очень хорошие знания процесса загрузки на низком уровне, который используется и Raspberry Pi, и iOS. Кроме того, обратите внимание на архитектуру iOS, которая, как я понимаю, в некоторой степени основана на системе Дарвина. Для этого вы можете изучить различные методы джейлбрейка и то, как они работают.

Также стоит отметить, что законность таких действий сомнительна, поскольку, скорее всего, существует множество нарушений лицензионного соглашения, наиболее очевидным из которых является условие, что операционная система Apple работает только на оборудовании Apple. Взлом джейлбрейка технически законен, но реверс-инжиниринг только иногда защищен законом и никогда не применялся последовательно. Проект Cydia и многие приложения, которые в нем присутствуют, могут выполнить некоторые тонкие настройки для iOS. Знание того, как это сделать, может совпадать со знанием того, как запустить его на Raspberry Pi.

Тем не менее, я видел несколько удивительных и трудных проектов, потому что сообщество преданных разработчиков и хакеров объединилось для достижения общей цели, например, проект Xbox-Linux или, как вы указали, проект OSx86 . Разумеется, запуск iOS на Raspberry Pi не исключен, но то, что возможно, не всегда практично. У вас может быть больше веселья и меньше хлопот с Android, так как он с открытым исходным кодом. Тем не менее, там, где есть сильная воля, есть путь.

Dougvj
источник
0

Я бы сказал, что вам лучше всего декомпилировать весь загрузочный образ, а затем восстановить его снизу вверх, адаптировав его под спецификации pi. Проблема в том, что вам понадобятся чрезвычайно обширные знания кодирования на нескольких языках (люди, которые занимаются этим, имеют несколько лет работы вместе со специальным обучением). Это было бы почти невозможно, но есть шанс ...

Даниэль Коркоран
источник
0

Я не уверен, но некоторые из первых версий iOS были сделаны для чего-то вроде Armv6, так что аппаратное обеспечение может быть похожим, и вам нужно будет сделать некоторые графические кеширования для системы, (я не знаю, если вы Вы сможете портировать графическое ускорение, которое сложно сделать) и все оборудование, такое как порты, контроллеры и память. Я нашел это, но в довольно начальном состоянии; http://winocm.com/projects/research/2013/11/22/milestone-one/, так что попробуйте собственное ядро ​​Mach / xnu для RPi и загрузите его, а затем посмотрите, что произойдет

Диан Александров
источник