iOS на Raspberry Pi


13

Тепер я розумію, що це, мабуть, було б недоцільно, але з причини "тому що я можу" я хотів би спробувати встановити iOS на свій Raspberry Pi. (коли це зрештою настане ..)

Я оглянув публікації з цього питання, і, здається, вони підказують, що запуск iOS 3 може бути можливим через апаратні обмеження, але наскільки це важко може бути насправді? Роки тому я створив пару машин OS X86, і хоч біль виявився цілком можливим. (очевидно)

Отже, моє загальне питання полягає в тому, що я повинен намагатися робити / вчитися, щоб спробувати встановити iOS на Raspberry Pi?


Я збирався продовжувати відповідь "Ні, за останній вигадливий час ви не можете встановити Windows чи інші дистрибутиви Linux, оскільки вони лише для x86", але тоді мені подобається ... iOS ... ARM ... хороша ідея: П
Олександр - Відновити Моніку

1
Я думаю, що апаратне забезпечення idevice занадто спеціалізоване, щоб сподіватися, що iOS працює на RPI… графічні інтерфейси, підтримка USB, Ethernet через usbm тощо.
Олександр - Відновіть Моніку,

@XAleXOwnZX Дивіться, зараз я там не впевнений. Хоча іноді це може стати важким, завжди можна написати драйвер! Те, що я передбачаю найбільш проблемною частиною, - це кінець інтерфейсу користувача.
Мік Маккаллум

Як би ви інтерфейсували з ним? Підтримка клавіатури та миші не була представлена ​​в iOS з моменту iOS 5 на iPad. Я маю на увазі, не було б підтримки курсору миші, як це є на поточному iPad за допомогою Bluetooth-миші
Олександр - Відновити Моніку

1
@XAleXOwnZX Я майже впевнений, що майже всі існуючі дистрибутиви Linux дозволяють вам скласти власне ядро ​​та отримати навіть попередньо складені пакети для ARM, тому я вважаю, що казати людям, що "ви не можете встановити Windows чи інші дистрибутиви Linux" в якийсь момент помиляється.
Петро

Відповіді:


19

Хоча iOS від Apple є привабливим для користувачів, якщо ви є ентузіастом (як ви, мабуть, маєте Raspberry Pi) або розробником, то iOS є найменш дружелюбним для вас.

iOS складено спеціально для кожної моделі iPad або iPhone Apple із специфічною інтеграцією апаратного та програмного забезпечення для платформи. По суті, все програмне забезпечення - це одна гігантська бінарна крапка. Хтось згадав у коментарях про те, що між Raspberry Pi та деякими моделями iPhone існує багато подібностей апаратних засобів. Ваша найбільша надія на те, щоб iOS запустився на Raspberry Pi, було б знайти зображення вбудованого програмного забезпечення для телефону, апаратне забезпечення якого найбільше схоже на Raspberry Pi, а потім спробувати змусити його запустити. Як і більшість компільованих зображень, пов'язаних з платформою, однак, ймовірно, що навіть незначні відхилення в робочому середовищі від очікуваного середовища призведуть до незавантаженої системи. Якщо це в кінцевому підсумку, то, швидше за все, вам доведеться вдатися до зворотної інженерії та злому бінарного блоку з різними драйверами або конфігураціями апаратних засобів. Таке може бути дуже нетривіальним і виявиться складним навіть для команди компетентних та досвідчених інженерів.

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

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

З цього приводу я бачив, що деякі дивовижні та складні проекти виникають через те, що спільнота завзятих розробників та хакерів об'єдналася у спільну мету, наприклад, проект Xbox-Linux або, як ви вказали, проект OSx86 . Безумовно, не запустити iOS на Raspberry Pi, але те, що можливо, не завжди практично. Ви можете мати більше задоволення та менше клопоту з Android, оскільки це відкритий код. Однак, там, де є сильна воля, є спосіб.


0

Я б сказав, що найкраще зробити декомпіляцію всього завантажувального зображення, а потім реконструювати його знизу вгору, адаптувавши його до pi специфікації. Проблема полягає в тому, що вам знадобляться надзвичайно широкі знання кодування на декількох мовах (люди, які розробляють це, мають багато років роботи, а також певну підготовку). Це було б майже неможливо, але, є шанс….


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.