现在,我知道这样做可能不切实际,但是出于“因为我可以”的原因,我想尝试在Raspberry Pi上安装iOS。(当它最终出现时..)
我到处都是关于此事的帖子,他们似乎暗示由于硬件限制,可能可以运行iOS 3,但这真的有多难?几年前,我安装了几台OS X86机器,尽管最终还是很痛苦。(明显)
所以我的总体问题是,我应该如何做/学习才能在Raspberry Pi上安装iOS?
现在,我知道这样做可能不切实际,但是出于“因为我可以”的原因,我想尝试在Raspberry Pi上安装iOS。(当它最终出现时..)
我到处都是关于此事的帖子,他们似乎暗示由于硬件限制,可能可以运行iOS 3,但这真的有多难?几年前,我安装了几台OS X86机器,尽管最终还是很痛苦。(明显)
所以我的总体问题是,我应该如何做/学习才能在Raspberry Pi上安装iOS?
Answers:
尽管Apple的iOS对用户有吸引力,但如果您是发烧友(因为您必须拥有Raspberry Pi)或开发人员,那么iOS对您来说最不友好。
iOS是为Apple的iPad或iPhone的每种型号专门编译的,并为此平台专门集成了硬件和软件。本质上,所有软件都是一个巨大的二进制blob。有人在评论中提到,Raspberry Pi和某些型号的iPhone之间在硬件上有很多相似之处。要使iOS在Raspberry Pi上运行,您最大的希望是为硬件与Raspberry Pi最相似的手机查找固件映像,然后尝试使其运行。但是,像大多数特定于平台的编译映像一样,即使正在运行的环境与预期的环境发生微小的差异,也可能会导致系统无法启动。如果这样的话 那么最有可能的是,您将不得不进行逆向工程,并使用不同的硬件驱动程序或配置来入侵二进制Blob。这可能是非常不平凡的,甚至对于一支有能力且经验丰富的工程师团队也将证明具有挑战性。
因此,对于Raspberry Pi和iOS的使用,必须非常了解iPhone不同型号的特定硬件,以及非常了解低级启动过程。此外,了解一下iOS的体系结构,据我所知,该体系结构模糊地基于达尔文系统。为此,您可以研究不同的越狱方法及其工作方式。
同样值得注意的是,此类行为的合法性值得怀疑,因为可能会多次违反EULA,最明显的是规定Apple的操作系统只能在Apple硬件上运行。越狱在技术上是合法的,但是逆向工程有时仅受到法律的保护,而且从未真正应用过。Cydia项目及其上的许多应用程序都可以对iOS进行一些微调的自定义。有关如何执行此操作的知识可能与使其在Raspberry Pi上运行的知识重叠。
就是说,我看到了一些惊人而艰巨的项目,因为一群敬业的开发人员和黑客聚集在一起实现了一个共同的目标,例如Xbox-Linux项目或您所指出的OSx86项目。在Raspberry Pi上运行iOS当然不是不可能的,但是可行的做法并不总是可行的。Android是开源的,您可能会获得更多的乐趣,而麻烦更少。就是说,有坚强的意志就有办法。
我会说最好的选择是对整个启动映像进行反编译,然后从下至上对其进行重构,以使其适应pi规范。这样做的问题是,您将需要非常广泛的多种语言编码知识(设计此语言的人需要多年的工作以及特定的培训)。这几乎是不可能的,但是有机会...
我不确定,但是iOS的第一个版本是为Armv6之类的产品制作的,因此硬件可能很相似,并且您需要为系统制作一些图形扩展程序((我不知道您是否能够移植复杂的图形加速器)和所有硬件,例如端口,控制器和内存。我发现了这个,但是还处于初始状态。 http://winocm.com/projects/research/2013/11/22/milestone-one/, 因此尝试为RPi定制Mach / xnu内核并启动它,然后看看会发生什么