前几天,咆哥发了篇推文说国外有一老哥给 iPhone 撞上了安卓系统,并成功运行

打开网易新闻 查看精彩图片

但是评论区大部分小伙伴都认为:iPhone 用上安卓不算什么,有本事让安卓手机刷 iOS 系统啊~

您猜怎么着?

还真的有个国外开发者,给安卓手机刷入了 iOS 系统~

打开网易新闻 查看精彩图片

具体来说:

10月8日,开发者 j0sh1x 公布了一个复古硬件移植项目,展示 iOS 7 在 HTC HD2 上运行的效果,同时公开了相关的 XNU 内核和硬件支持代码。

根据目前能看到的演示和项目说明,HTC HD2 已经可以运行部分 iOS 用户态组件,触摸屏也已经能够正常工作。

打开网易新闻 查看精彩图片

HTC HD2,搭载高通 QSD8250 处理器,采用 ARMv7 架构,配备一块4.3英寸、480×800分辨率的触摸屏。

放在2010年,这是一台配置相当能打的手机。放到今天,它当然已经老得不能再老,但它有一个特点:硬件资料和社区积累非常丰富,启动环境也一直比较开放。

打开网易新闻 查看精彩图片

开发者针对 HD2 的 QSD8250 平台移植了 XNU 内核,项目目标配置写作 `QSD8250_LEO`,使用的是 ARMv7 Thumb 架构。

XNU 是苹果操作系统的核心内核,名字来自“X is Not Unix”。它由 Mach 内核、plusBSD 相关组件以及 IOKit 等部分组成,是 iOS、macOS 等系统的底层基础。苹果目前仍然公开维护 XNU 的源代码,只不过 ARMv7 这类32位移动平台,已经属于历史版本支持范围。

目前公开的演示,至少说明了三件事:针对 HD2 的 XNU 移植已经有了实际成果,部分 iOS 用户态组件已经能够运行,显示和触控链路也完成了初步打通。

打开网易新闻 查看精彩图片

虽然开发者已经公开了相关 XNU 内核及硬件支持代码,但这并不意味着你立刻就能把你的安卓手机刷上 iOS 系统。

代码开源,也不代表完整的 iOS 系统被开源了。XNU 是苹果公开的一部分,iOS 里大量用户态框架、系统服务、驱动和配套组件并不在这个仓库里。

为什么偏偏是 HTC HD2

HTC HD2 被社区称作“万能机”,不是没有原因的。

这款手机当年拥有非常活跃的第三方开发社区。有人给它移植过 Android,也有人折腾 Windows Phone,后来还出现过 Ubuntu、Symbian 等其他系统或实验性项目。围绕它发展出来的 MAGLDR、cLK 等启动方案,也让这台手机比同年代很多设备更适合反复尝试不同系统。

打开网易新闻 查看精彩图片

iOS 7 当年可以运行在 iPhone 4 这样的 ARMv7 设备上,XNU 本身也保留着不少旧平台代码,这给了项目一定的基础。

但如果有人问,HD2 跑上 iOS 7 之后能不能当日常手机用,答案大概率是否定的。

打开网易新闻 查看精彩图片

这类项目的价值,本来就不在于替代现代手机。

它更像是一种技术考古,让一台已经退出主流市场多年的手机,仍然可以被拿来验证另一套操作系统的底层结构。