For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
近日,一位Linux开发者吐槽了将系统移植到Apple Silicon Mac上的难度实在太大。相比之下,为M1 Mac开发原生软件就没有那么复杂了。据悉,不同于其它64-bit ARM系统,苹果使用了高度定制的过程来实现Mac硬件的引导。而为了顺利向M1 Mac迁移软件,该公司至少为开发者提供了完善的x86软件适配方案。
Asahi Linux项目团队在博客文章中写道,他们尝试了在Apple Silicon系统上设置备用启动内核。虽然已实现大多数功能,但还是缺乏对安装非苹果内核的命令支持。
Apple Insider指出,主要障碍在于Apple Silicon的启动方式与PC存在很大的不同。与常见的计算机相比,它更像是一个嵌入式平台(类似Android / iOS)。
深入分析发现,苹果有努力让Apple Silicon平台的启动过程更接近于Intel Mac,但两者仍存在着一些差异、尤其是某些量身定制的运行机制。
这些差异会导致某些意外的行为,比如对于从外部存储进行启动的处理方式、引导加载程序未能呈现图形用户界面(GUI)。
此外启动项选择器(Boot Picker)只是一款全屏显示的macOS应用程序,而不是引导加载程序的一部分。
基于此,开发者认为Apple Silicon Mac的启动过程不基于任何现有标准,而是沿用了自iOS早期逐渐发展起来的苹果定制运行机制。
作为引导过程的一部分,苹果设备树(Apple Device Tree)也基于开放固件标准,且该规范曾用于引导早期的PowerPC Mac。
遗憾的是,由于缺乏有关数据表示的高级详情,第三方无法轻易地实现二进制格式的自动化差异转换。
Asahi Linux项目团队声称:“试图统一苹果和Linux关于设备树应该如何工作的想法,将会是一场难以克服的噩梦”。
为了攻克这方面的难题,项目团队已经开发了用于Apple Silicon Mac的m1n1引导程序。
据悉,这项工作源于早期用于检查任天堂Wii的最小环境。经过相应的修改,项目团队得以开始记录苹果的自定义ARM指令、系统寄存器、以及中断控制器等硬件。
同时Asahi Linux团队与Corellium携手努力,以期将Linux顺利移植到M1平台。
1月份的时候,Corellium曾提及类似的非传统启动过程、并且使用了非标准的控制器,从而设法启动了Linux。
然而与基于Intel芯片的macOS应用程序迁移工作相比,Apple Silicon的第三方系统移植工作还是要困难得多。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!