在众包朝日Linux项目已经公布了首次详细的状态报告总结进步,挑战,越来越的的Linux对本地运行苹果Mac电脑M1。将像Linux这样复杂的操作系统移植到像Apple Silicon这样封闭的单片系统上,这并不是在公园里散步。该项目的第一份详细进度报告概述了Apple独特的启动过程,以及使另一个操作系统在硬件上运行所面临的挑战。
“他们的[Apple Silicon Macs]工作方式更类似于嵌入式平台(例如Android手机,或者当然是iOS设备),但是引入了许多定制机制。但是,Apple已经采取了一些步骤来制造这种启动过程感觉更接近于Intel Mac,因此在实际工作方式上存在很多困惑。” Asahi的创始人兼首席开发人员Hector Martin写道。
多产的Linux搬运程序Martin于今年1月正式开始在Apple Silicon端口上工作。他的第一个目标是M1 Mac Mini,尽管他打算最终使Linux在所有M1 Mac上运行。
马丁写道,第一个大挑战是M1 Mac的启动过程,他说这与传统Arm生态系统中发现的任何过程都不相同。例如,您不能以与在其他计算机上相同的方式从外部存储启动Apple Silicon Macs 。
因此,Martin开始着手研究,不仅要了解引导过程的工作原理,还要了解磁盘中分区的布局方式,以及与标准PC环境的比较方式。马丁若有所思地在Asahi的GitHub页面上详细记录了他的学习成果。
使用主线
在具体进展方面,Martin能够利用他对引导过程的了解编写名为m1n1的自定义引导程序,该程序将Apple的特性与在64位ARM上引导操作系统的标准方式联系在一起。
由于安全启动公司Corellium设法在M1上运行了可工作的Ubuntu桌面,因此Asahi的进度可能看起来很慢。
但是,正如Martin所解释的那样,他的意图不仅是使Linux在M1上运行,而且还要在将工作扩展到主线Linux内核的同时这样做,以使每个人都受益。
“我们的方法是从上游开始,从第一天开始就与整个社区合作。为此,我们一直在与上游Linux维护者合作,实际上,现在有几个主要的Linux人士在Asahi Linux IRC渠道中闲逛。”马丁说。