2106cc12f8c9c456691fd6c79f9106dd.gif

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

在搭载 M1 芯片的 Mac 上成功运行 Linux 之后,Asahi Linux 团队便将手伸向了 M2 芯片。

有些出乎意料的是,在 M2 芯片短短发布一个月后,该团队便带来了 Asahi Linux 新版本,尤为值得关注的是该发行版可提供对 M2 MacBook Pro(该团队已直接测试)和 M2 MacBook Air(尚未测试但应该可以正常工作)的初步支持。此外,这一版本还支持 M1 Ultra 的 Mac Studio。

a58ae8aacdc1f718ad3b84c7cfe2ad48.jpeg

fb34801f89a2e1975785153633576fea.png

最新进展

Asahi 团队在发表的《M2 来了!2022 年 7 月发布和进度报告》中分享道,在尝试过程中,仅仅通过 12 小时,Asahi 团队就让 Linux 发行版在 M2 芯片的电脑上启动了 USB、NVMe、电池统计/控制、CPU 频率缩放、Wi-Fi 等功能。

继而又使用了几天的时间,他们实现了键盘/触控板也能在系统上正常工作。

不过,需要注意的是,当前在 M2 上使用 Asahi Linux 仍处于试验阶段,并不成熟,一些硬件还不被支持,因此对于想要尝鲜的小伙伴,该团队也给出了几点注意事项:

  • 在 M2 上的尝试要比 M1 更具有实验性,所以预计会有 Bug。为了获得在 M2 上安装的选项,你需要在 Asahi Linux 安装程序中启用专家模式。

  • 键盘在 U-Boot/GRUB 中无法正常工作。因为该驱动还没有编写好,Asahi 团队也正在思考如何在 U-Boot 和 Linux 之间进行交接。如果作为开发者的你想要探查引导程序的外壳,则可以使用一个外接 USB 键盘。

  • 当前只有 M2 的 MacBook Pro 13 经过了测试。预估在 M2 版本的 MacBook Air 也可以运行 Linux 发行版,但尽量不要做这种冒险的尝试。

  • 用于 Linux 的固件/存根是基于苹果公司专门为这些机器发布的 "特别版 "macOS 12.4 版本。不过,Asahi 团队尚未承诺长期支持这个版本,所以你可能必须通过 macOS 和安装程序来升级自己的启动组件(可能是13.0),以获得未来的功能,以便让 GPU 和外部显示器输出等未来的功能正常工作。

虽然在 M2 芯片设备上跑 Linux 还有不少缺陷,但 Asahi 团队也迈出了极为重要的一步,同时其表示接下来也将在 GPU 层面取得新的进展,即一个 "原型驱动程序 "已经启动并运行,"足以运行真正的图形应用程序和基准",尽管它目前还不包括在这个版本中。

除此之外,Asahi 团队还实现了在 Mac Studio 上运行 Asahi Linux。这款电脑于今年 3 月在苹果春季新品发布会上发布,搭载了 M1 Max 芯片和 M1 Ultra 芯片。能在该电脑上成功运行 Linux,Asahi 团队表示,“并不难。但确实需要对引导程序和设备树进行一些修改,以便处理一个 SoC 与多个芯片的想法”。

基于 Mac Studio,除了 M1 Max 型号上使用前置 USB 端口和所有型号上的 A 型端口有些限制外,开发者可以像使用大部分硬件一样,运行 Linux。

411dfdc0a315254f64d975393d9a6cb5.png

Asahi 团队:苹果工程师往往不会在芯片上做太大改变

相比之前向 M1 Mac 移植 Linux 所耗费的时间,这一次 Linux 运行在 M2 芯片设备上只用了一个月左右的时间。

对此,Asahi 团队解释道,移植他们现有的软件与苹果的 M2 芯片配合使用所花费的时间要比支持 M1 处理器所花费的时间少得多,因为它们不必从头开始。「苹果的芯片设计师经常重复使用一些东西,除非有特殊的理由,否则他们不会对硬件进行太大的改变。」

因此,通过逆向工程和内核破解调试,Asahi 团队确认 NVMe、USB 和 SMC 等功能可在 M2 芯片设备上无缝启用。

5f528ace042d86d18c88813eb484a70b.png

e09f5b91597c161cdde08ab9a792bbe5.png

Linux “侵入”苹果硬件,将会带来哪些影响?

事实上,Asahi 团队背后,其主导的知名开发者 Hector Martin 早在 2020 年年底发起想要在苹果硬件上运行 Linux 的项目。

彼时的环境下,恰逢当时 Linux 之父的 Linus Torvalds 曾发表过「M1 芯片的 GPU 及其周围相关设备没有任何 Linux 支持」的评论,故而很多网友认为实现让 M1 Mac 运行 Linux “不太可能”,想法实属有些天方夜谭,也实在没有必要。

不过,Hector Martin 的坚持,让封闭的苹果硬件运行 Linux 这条路再难也要走下去。

经一年多的摸索与实践,功夫不负有心人。今年 3 月,Hector Martin 宣布 Asahi Linux 发行版(https://github.com/AsahiLinux)已成功在 M1 MacBook Air 笔记本电脑上运行。对此,Asahi Linux 表示:“Asahi Linux 集成了 M1 Mac 上的原生多引导支持,安装 Linux 也根本不会影响 macOS 的安全级别。你可以继续使用 FileVault、运行 iOS 应用程序甚至以 4K 画质观看 Netflix!”

经过网友的测试发现,Asahi Linux Alpha 版编译速度比 macOS 还要快上 40%。不久前,Asahi Linux 还在 Apple M1 上成功运行首个三角形渲染。

一路走来,Hector Martin 以及开源贡献者的付出,实现了大家都认为的不可能。对于 Asahi 团队而言,他们的目标一直也很坚定,就是在其工作准备就绪时向上游贡献所有的工作,目前较新的 Linux 内核版本已经实现了一些苹果芯片 Mac 的支持。最终,旨在让从 Ubuntu 到 ChromeOS Flex 都可以在苹果芯片 Mac 上运行,而不需要做大量的额外工作。这样,即使在多年以后,苹果所发布的新 macOS 版本不支持旧苹果 Mac 设备时,所有的用户也将会有备选方案。而在 Asahi 团队的努力下,OpenBSD 的一个版本也已经在苹果芯片上运行了。

对于 Hector Martin 以及 Asahi Linux 团队所做的贡献,业界也给予了高度的评价:

  • 这是一个伟大的项目。希望明年的某个时候能看到一些有趣的 GPU 支持!

  • 很高兴看到这个项目还活着。大约一年半以前,当这个项目首次亮相时,我做了一个小小的贡献(https://github.com/AsahiLinux/AsahiLinux.github.io/pull/4)。祝您未来努力好运。

也有不少网友关于苹果对 Linux 的支持与围城花园方面展开了激烈的讨论:

@blinkingled:

苹果能否以某种方式激励帮助 Asahi Linux 的工作?

要让 Linux 仅仅在苹果 M 系列的 SoC 上启动和使用,确实是一项艰巨的任务。为 Asahi Linux 团队的所有英勇努力点赞。个人感觉这是一个伟大的逆向工程项目,他们应该继续奋斗与努力,但 M1/2 上的 Linux 不会像标准 x64 机器上的 Linux 那样成为日常驱动。

@quesera: 

苹果肯定是希望 macOS 能够成为用户首选,毕竟他们的销售依赖于 macOS 的硬件和服务。我认为,苹果并没有将他们的硬件工程过于复杂化,目的是防止人们在他们的硬件上运行 Linux。macOS 推动了硬件的销售,从而赚钱。他们不会牺牲自己改变硬件或软件,来支持小型非商业项目的能力!

无论如何,Asahi Linux 先后敲开了 M1、M2 硬件的大门,虽然是第三方所为,但苹果自身离 Linux 生态还会远吗?

参考来源:

https://asahilinux.org/2022/07/july-2022-release/

https://arstechnica.com/gadgets/2022/07/linux-distro-for-apple-silicon-macs-is-already-up-and-running-on-the-brand-new-m2/?comments=1

https://news.ycombinator.com/item?id=32136483

— 推荐阅读 —

新程序员001-004》已全面上市,欢迎扫描下方二维码或点击订阅,即可畅享电子书及精美纸质书

 

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐