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?
operating-systems
Mick MacCallum
fuente
fuente
Respuestas:
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.
fuente
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 ...
fuente
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
fuente