现在,我知道这样做可能不切实际,但是出于“因为我可以”的原因,我想尝试在Raspberry Pi上安装iOS。 (当它最终出现时..)

我到处都在寻找有关此问题的帖子,他们似乎暗示由于硬件限制,可能可以运行iOS 3,但这真的很难吗?是?几年前,我安装了几台OS X86机器,尽管最终还是很痛苦。 (显然)

所以我的总体问题是,我应该如何做/学习才能在Raspberry Pi上安装iOS?

评论

我通常会回答“不,在最近的这段时间里,您无法安装Windows或其他linux发行版,因为它们仅是x86”,但我当时想……iOS……ARM……好主意: P

我认为idevice硬件太专业了,无法在RPI上运行iOS……图形界面,USB支持,usbm上的以太网等。

@XAleXOwnZX看,现在我不确定。尽管有时会变得很困难,但是您始终可以编写驱动程序!我预计最有问题的部分将是UI端。

您将如何与之交互?自iPad 5上的iOS 5开始,iOS并未引入对键盘和鼠标的支持。我的意思是,将不像当前的iPad那样使用蓝牙鼠标来支持鼠标光标

@XAleXOwnZX我很确定几乎所有现有的Linux发行版都可以编译您自己的内核,甚至为ARM提供预编译的软件包,因此我认为告诉人们“您无法安装Windows或其他linux发行版”是错误的

#1 楼

尽管Apple的iOS对用户很有吸引力,但是如果您是发烧友(必须具有Raspberry Pi)或开发人员,那么iOS对您来说最不友好。

iOS是专门针对每个平台编译的Apple的iPad或iPhone型号,并针对该平台进行了特定的硬件和软件集成。本质上,所有软件都是一个巨大的二进制二进制文件。有人在评论中提到,Raspberry Pi和某些型号的iPhone之间在硬件上有很多相似之处。要使iOS在Raspberry Pi上运行,您最大的希望就是为手机找到与硬件最类似于Raspberry Pi的固件映像,然后尝试使其运行。但是,与大多数特定于平台的编译映像一样,运行环境与预期环境之间的微小差异也可能会导致系统无法启动。如果最终还是这样,那么很可能您将不得不诉诸逆向工程并使用不同的硬件驱动程序或配置来入侵二进制Blob。这可能是非常琐碎的,甚至对于一支有能力且经验丰富的工程师团队也将证明是具有挑战性的。

因此,对iPhone不同型号的特定硬件的了解非常广泛,而且非常出色。必须了解Raspberry Pi和iOS使用的低级启动过程。另外,了解一下iOS的体系结构,据我所知,该体系结构模糊地基于达尔文系统。为此,您可以研究不同的越狱方法及其工作方式。

同样值得注意的是,此类行为的合法性值得怀疑,因为可能会多次违反EULA,最明显的是规定Apple的操作系统只能在Apple硬件上运行。越狱在技术上是合法的,但逆向工程有时仅受法律保护,而且从未真正得到过一致的应用。 Cydia项目及其上的许多应用程序都可以对iOS进行一些微调的自定义。有关如何执行此操作的知识可能与使其在Raspberry Pi上运行的知识相重叠。

说,我看到了一些令人惊讶且困难的项目,因为出现了专门的开发人员和黑客社区共同的目标,例如Xbox-Linux项目,或您所指出的OSx86项目。在Raspberry Pi上运行iOS当然不是不可能的,但是可行的做法并不总是可行的。由于Android是开放源代码,因此使用Android可能会带来更多的乐趣和麻烦。就是说,有坚强的意志就有办法。

#2 楼

我会说最好的选择是对整个启动映像进行反编译,然后从下至上进行重构,以使其适应pi规范。这样做的问题是,您将需要非常广泛的多种语言编码知识(设计此语言的人员在从事多年工作以及特定的培训之后)。这几乎是不可能的,但是有机会。...

#3 楼

我不确定,但是iOS的第一个版本是为Armv6之类的产品制作的,因此硬件可能很相似,并且您需要为系统制作一些图形扩展程序((我不知道您是否能够移植复杂的图形加速器)和所有硬件,例如端口,控制器和内存。
我发现了这一点,但它处于初始状态;
http://winocm.com/projects/research/2013/11/22/milestone-one/
,所以尝试为RPi定制Mach / xnu内核并启动它,然后看看会发生什么