Apple|相比软件迁移 Apple Silicon Mac的Linux系统移植工作更困难
【Apple|相比软件迁移 Apple Silicon Mac的Linux系统移植工作更困难】近日,一位 Linux 开发者吐槽了将系统移植到 Apple Silicon Mac 上的难度实在太大 。相比之下,为 M1 Mac 开发原生软件就没有那么复杂了 。据悉,不同于其它 64-bit ARM 系统,苹果使用了高度定制的过程来实现 Mac 硬件的引导 。而为了顺利向 M1 Mac 迁移软件,该公司至少为开发者提供了完善的 x86 软件适配方案 。
访问:
苹果在线商店(中国) - Mac
文章图片
Asahi Linux 项目团队在博客文章中写道,他们尝试了在 Apple Silicon 系统上设置备用启动内核 。虽然已实现大多数功能,但还是缺乏对安装非苹果内核的命令支持 。
Apple Insider 指出,主要障碍在于 Apple Silicon 的启动方式与 PC 存在很大的不同 。与常见的计算机相比,它更像是一个嵌入式平台(类似 Android / iOS) 。
深入分析发现,苹果有努力让 Apple Silicon 平台的启动过程更接近于 Intel Mac,但两者仍存在着一些差异、尤其是某些量身定制的运行机制 。
这些差异会导致某些意外的行为,比如对于从外部存储进行启动的处理方式、引导加载程序未能呈现图形用户界面(GUI) 。
此外启动项选择器(Boot Picker)只是一款全屏显示的 macOS 应用程序,而不是引导加载程序的一部分 。
基于此,开发者认为 Apple Silicon Mac 的启动过程不基于任何现有标准,而是沿用了自 iOS 早期逐渐发展起来的苹果定制运行机制 。
文章图片
(来自:Asahi Linux 进度报告)
作为引导过程的一部分,苹果设备树(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 的第三方系统移植工作还是要困难得多 。
推荐阅读
- 软件和应用|AcrylicMenus:让Windows 10右键菜单获得半透明效果
- 安全|Redline Stealer恶意软件:窃取浏览器中存储的用户凭证
- Tencent|原生微信上架优麒麟软件商店
- Apple|苹果高管解读AirPods 3代技术细节 暗示蓝牙带宽可能成为瓶颈
- Apple|摩根大通分析师:交货时间来看iPhone 13系列已达供需平衡
- 软件和应用|iOS/iPadOS端Telegram更新:引入隐藏文本、翻译等新功能
- Apple|法官称苹果零售店搜包和解协议虽不完美,但可继续进行
- 软件|员工幸福也是生产力!日企推“AI相亲”福利
- 系统验证|以技术革新加速芯片创新效率,EDA软件集成版PNDebug正式发布
- Apple|苹果希望手机/平板设备能正面为其他设备无线充电