iOS en una Raspberry Pi

13

Ahora, entiendo que probablemente no sería práctico hacerlo, pero por la razón "porque puedo" me gustaría intentar instalar iOS en mi Raspberry Pi. (cuando eventualmente llega ..)

He buscado publicaciones sobre este tema y parecen sugerir que ejecutar iOS 3 puede ser posible debido a restricciones de hardware, pero ¿qué tan difícil puede ser realmente? Hace años instalé un par de máquinas OS X86, y aunque un dolor terminó siendo totalmente posible. (obviamente)

Entonces, mi pregunta general es, ¿qué debo considerar hacer / aprender para intentar instalar iOS en una Raspberry Pi?

Mick MacCallum
fuente
Estaba a punto de continuar con la respuesta habitual de "No, por última vez, no puedes instalar Windows u otras distribuciones de Linux porque son solo x86", pero entonces estoy como ... iOS ... ARM ... buena idea: P
Alexander - Restablecer Monica
1
Creo que el hardware iDevice es demasiado especializado para que exista ninguna esperanza para iOS se ejecuta en un RPI ... interfaces de gráficos, soporte USB, Ethernet sobre USBM etc.
Alexander - Restablecer Monica
@XAleXOwnZX Mira, ahora es donde no estoy seguro. Aunque a veces puede ser difícil, ¡siempre puedes escribir un controlador! Lo que preveo que será la parte más problemática será el final de la interfaz de usuario.
Mick MacCallum
¿Cómo interactuarías con él? El soporte para teclado y mouse no se introdujo en iOS desde iOS 5 en iPads. Quiero decir, no habría soporte para un cursor de mouse como el que hay en un iPad actual usando un mouse bluetooth
Alexander - Restablecer Monica
1
@XAleXOwnZX Estoy bastante seguro de que casi todas las distribuciones de Linux existentes le permiten compilar su propio kernel e incluso obtuvieron paquetes precompilados para ARM, por lo que creo que decirle a la gente "no puede instalar Windows u otras distribuciones de Linux" es incorrecto en algún momento
Petr

Respuestas:

19

Aunque el iOS de Apple es atractivo para los usuarios, si eres un entusiasta (como debes tener el Raspberry Pi) o un desarrollador, entonces iOS es el menos amigable para ti.

iOS se compila específicamente para cada modelo de iPad o iPhone de Apple con integración específica de hardware y software para la plataforma. Esencialmente, todo el software es un blob binario gigante. Alguien mencionó en los comentarios que hay muchas similitudes de hardware entre Raspberry Pi y algunos modelos de iPhone. Su mayor esperanza para que iOS se ejecute en Raspberry Pi sería encontrar una imagen de firmware para un teléfono cuyo hardware sea más similar al Raspberry Pi y luego intentar que se ejecute. Sin embargo, al igual que la mayoría de las imágenes compiladas específicas de la plataforma, es probable que incluso pequeñas desviaciones en el entorno de ejecución del entorno esperado produzcan un sistema que no se pueda iniciar. Si ese es el caso, entonces lo más probable es que tenga que recurrir a la ingeniería inversa y piratear el blob binario con diferentes controladores o configuraciones de hardware. Esto puede ser muy poco trivial y resultaría desafiante incluso para un equipo de ingenieros competentes y experimentados.

Como tal, un conocimiento muy extenso del hardware específico de los diferentes modelos del iPhone, así como un muy buen conocimiento del proceso de arranque de bajo nivel que serán necesarios tanto para el uso de Raspberry Pi como para iOS. Además, observe la arquitectura de iOS que, según tengo entendido, se basa vagamente en el sistema Darwin. Para esto, puede analizar los diferentes métodos de jailbreak y cómo funcionan.

También vale la pena señalar, la legalidad de tales acciones es cuestionable ya que es probable que haya múltiples violaciones del EULA, la más obvia de las cuales es la estipulación de que el sistema operativo de Apple solo se ejecuta en el hardware de Apple. El jailbreak es técnicamente legal, pero la ingeniería inversa solo a veces está protegida por la ley y nunca se ha aplicado de manera consistente. El proyecto Cydia y muchas de las aplicaciones que están en él pueden realizar una personalización ajustada para iOS. El conocimiento sobre cómo hacerlo puede superponerse con el conocimiento sobre cómo ejecutarlo en Raspberry Pi.

Dicho esto, he visto surgir algunos proyectos sorprendentes y difíciles porque una comunidad de desarrolladores y hackers dedicados se unieron en un objetivo común, por ejemplo, el proyecto Xbox-Linux , o como usted señaló, el proyecto OSx86 . Ciertamente, no es imposible ejecutar iOS en Raspberry Pi, pero lo que es posible no siempre es práctico. Es posible que tenga más diversión y menos problemas con Android, ya que es de código abierto. Dicho esto, donde hay una fuerte voluntad hay un camino.

Dougvj
fuente
0

Diría que su mejor opción es descompilar toda la imagen de arranque, luego reconstruirla de abajo hacia arriba adaptándola a las especificaciones de pi. El problema con esto es que necesitaría un conocimiento extremadamente amplio de la codificación en varios idiomas (las personas que diseñan esto tienen varios años en el trabajo junto con capacitación específica). Sería casi imposible, pero hay una posibilidad ...

Daniel Corcoran
fuente
0

No estoy seguro, pero algunas de las primeras versiones de iOS se hicieron para algo así como un Armv6, por lo que el hardware puede ser similar, y tendrá que hacer algunos kexts gráficos para el sistema (no sé si usted ' podrá portar la aceleración gráfica, que es compleja de hacer) y todo el hardware como los puertos, controladores y memoria. Encontré esto, pero está en un estado bastante inicial; http://winocm.com/projects/research/2013/11/22/milestone-one/, así que intente un kernel Mach / xnu personalizado para el RPi y arranque, luego vea qué sucede

Dian Aleksandrov
fuente