Maintenant, je comprends qu'il serait probablement impossible de le faire, mais pour la raison "parce que je peux", j'aimerais essayer d'installer iOS sur mon Raspberry Pi. (quand ça finit par arriver ..)
J'ai cherché des articles à ce sujet, et ils semblent suggérer que l'exécution d'iOS 3 peut être possible en raison de contraintes matérielles, mais à quel point cela pourrait-il vraiment être difficile? Il y a des années, j'ai installé quelques machines OS X86, et même si une douleur est finalement devenue possible. (évidemment)
Donc, ma question générale est, que dois-je étudier / faire pour essayer d'installer iOS sur un Raspberry Pi?
operating-systems
Mick MacCallum
la source
la source
Réponses:
Bien que l'iOS d'Apple soit attrayant pour les utilisateurs, si vous êtes un passionné (comme vous devez avoir le Raspberry Pi) ou un développeur, iOS est le moins convivial pour vous.
iOS est compilé spécifiquement pour chaque modèle d'iPad ou iPhone d'Apple avec une intégration spécifique du matériel et des logiciels pour la plate-forme. Essentiellement, tous les logiciels sont un blob binaire géant. Quelqu'un a mentionné dans les commentaires qu'il existe de nombreuses similitudes matérielles entre le Raspberry Pi et certains modèles d'iPhone. Votre plus grand espoir de faire fonctionner iOS sur Raspberry Pi serait de trouver une image de firmware pour un téléphone dont le matériel est le plus similaire au Raspberry Pi, puis d'essayer de le faire fonctionner. Cependant, comme la plupart des images compilées spécifiques à une plate-forme, il est probable que même de légères déviations de l'environnement en cours d'exécution par rapport à l'environnement attendu produiront un système non amorçable. Si cela finit par être le cas, alors vous devrez probablement recourir à la rétro-ingénierie et pirater le blob binaire avec différents pilotes ou configurations matérielles. Cela peut être très simple et se révéler difficile même pour une équipe d'ingénieurs compétents et expérimentés.
En tant que telle, une connaissance très approfondie du matériel spécifique des différents modèles d'iPhone ainsi qu'une très bonne connaissance du processus de démarrage de bas niveau que Raspberry Pi et iOS utiliseront seront nécessaires. De plus, examinez l'architecture d'iOS qui, si je comprends bien, est vaguement basée sur le système Darwin. Pour cela, vous pouvez étudier les différentes méthodes de jailbreak et leur fonctionnement.
Il convient également de noter que la légalité de telles actions est discutable car il existe probablement de multiples violations du CLUF, dont la plus évidente est la stipulation que le système d'exploitation d'Apple ne fonctionne que sur du matériel Apple. Le jailbreak est techniquement légal, mais l'ingénierie inverse n'est que parfois protégée par la loi et n'a jamais été appliquée de manière vraiment cohérente. Le projet Cydia et la plupart des applications qui s'y trouvent sont capables de personnaliser finement iOS. Les connaissances sur la façon de le faire peuvent chevaucher les connaissances sur son fonctionnement sur Raspberry Pi.
Cela dit, j'ai vu des projets incroyables et difficiles à réaliser car une communauté de développeurs et de hackers dédiés s'est réunie dans un objectif commun, par exemple le projet Xbox-Linux , ou comme vous l'avez souligné, le projet OSx86 . Il n'est certainement pas impossible d'exécuter iOS sur le Raspberry Pi, mais ce qui est possible n'est pas toujours pratique. Vous pouvez avoir plus de plaisir et moins de tracas avec Android, étant donné qu'il est open source. Cela dit, là où il y a une forte volonté, il y a un moyen.
la source
Je dirais que votre meilleur pari est de décompiler toute l'image de démarrage, puis de la reconstruire de bas en haut en l'adaptant aux spécifications pi. Le problème avec cela est que vous auriez besoin d'une connaissance extrêmement approfondie du codage dans plusieurs langues (les personnes qui le conçoivent ont plusieurs années de travail et une formation spécifique). Ce serait presque impossible, mais il y a une chance ...
la source
Je ne suis pas sûr mais certaines des premières versions d'iOS ont été faites pour quelque chose comme un Armv6, donc le matériel peut être similaire, et vous devrez faire quelques kexts graphiques pour le système, (je ne sais pas si vous '' ll pourra porter l'accélération graphique qui est complexe à faire) et tout le matériel comme les ports, les contrôleurs et la mémoire. J'ai trouvé cela, mais je suis dans un état assez initial; http://winocm.com/projects/research/2013/11/22/milestone-one/ alors essayez un noyau Mach / xnu personnalisé pour le RPi et démarrez-le, puis voyez ce qui se passe
la source