整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
2020 年 11 月,苹果自研芯片 M1 的推出令业界轰动。彼时,M1 芯片强大的性能令许多 Linux 爱好者期待:未来 M1 Mac 可否顺利运行 Linux?
在当时 Linux 之父 Linus Torvalds 认为因“M1 芯片的 GPU 及其周围相关设备没有任何 Linux 支持”而“不太可能”实现让 M1 Mac 运行 Linux 的情况下,知名开发者 Hector Martin(即 Marcan)“迎难而上”,启动了一项向 M1 Mac 移植 Linux 的项目。
经过一年多的摸索,如今该项目终于取得了重大进展,我们也似乎迎来了第一个支持苹果 M1 系列 Mac 的 Linux 发行版:
3月 18 日,由 Hector Martin 领导的 Asahi Linux 团队宣布其发行版已成功在 M1 MacBook Air 笔记本电脑上运行,并由此发布了 Asahi Linux 的 Alpha 版本。
据团队官方介绍,Asahi Linux 主要基于 Arch Linux ARM,不过该 Alpha 版本较为早期,因此“它适用于开发人员和高级用户”,团队也希望使用者可以提交详细的错误报告和调试问题帮助团队进一步完善该发行版。
想尝试 Asahi Linux 的开发者需具备以下安装要求:
除了 Mac Studio,M1、M1 Pro 和 M1 Max 设备皆可。
电脑系统需为 macOS 12.3 及以上版本,且以管理员用户身份登录。
确保至少有 53GB 的可用磁盘空间:首先 Asahi Linux Desktop 需要 15GB,同时安装程序会在 macOS 中预留额外的 38GB 磁盘空间以避免破坏 macOS 更新。
有效的互联网连接:安装程序将下载 700MB ~ 4GB 的数据,具体取决于用户选择的操作系统。
以上要求均满足的前提下,开发者即可根据提示开始安装 Asahi Linux Alpha 版(可参见 https://asahilinux.org/2022/03/asahi-linux-alpha-release/ 中的“安装”部分讲解)。
但正如 Asahi Linux 官方承认道,该早期版本还存在一定缺陷,因此开发者在决定试用前,需了解具体支持/不支持功能:
除了以上的共性功能,还有部分芯片额外附带了一些其他功能:耳机插孔(仅限 M1 机型)、HDMI 输出(仅限 Mac Mini)、SD 读卡器 (仅限 M1 Pro/Max)。Asahi Linux 还透露道,USB3、扬声器、显示控制器等功能也即将支持。
其中,用户如无法连接 Wi-Fi,可尝试在网络管理菜单中将其关闭再打开;如果耳机插孔不无效或只有一边有声音,可尝试重新启动。
除了以上功能尚未实现,还有一些应用程序目前也无法在 Asahi Linux 运行良好:Chromium(需自愿修复)、Emacs(修复已提交,未发布)、所有使用 jemalloc 的应用(如 Arch Linux ARM 中的 Rust)及所有使用 libunwind 的应用(修复已提交,未发布)。
为了证明项目成果,Asahi Linux 团队在推特上发布了其在 M1 MacBook Air 上成功运行 Asahi Linux 的视频及截图:
同时,Asahi Linux 还表示:“Asahi Linux 集成了 M1 Mac 上的原生多引导支持,安装 Linux 也根本不会影响 macOS 的安全级别。你可以继续使用 FileVault、运行 iOS 应用程序甚至以 4K 画质观看 Netflix!”
在这条推特下方,许多不甚了解的网友对 Asahi Linux 提出了不少疑问,官方也及时进行了统一回答。
正如起初 Linus Torvalds 认为 M1 缺乏对 Linux 的支持而难以实现 Linux 移植,此番 M1 MacBook Air 运行 Asahi Linux 的事实引起部分网友担忧:“苹果允许这样做吗?”
Asahi Linux 给出的回答是:“苹果允许在 M1 系列 Mac 上启动未签名/自定义内核而无需越狱,所以我们这并不是黑客或钻漏洞行为,而是苹果内置在这些设备中的实际功能。此外,只要不从 macOS 获取代码来构建 Linux 支持,开发结果可以完全合法地分发且供最终用户使用,因为它不是 macOS 的衍生作品。”
Asahi Linux 的发布给了部分钟爱双系统的用户一种可能性:“可以实现 macOS 和 Linux 的双系统了?”
对此,Asahi Linux 表示:“可以,实际上我们也支持你开启双系统。因为目前 Asahi Linux 安装程序还不支持替换 macOS,所以我们希望你保留 macOS,况且 macOS 和 Linux 之间也彼此独立且互不妨碍。”切换系统的方法也很简单:按住电源键启动,然后选择要启动的操作系统即可。
对于这个常见的用户担忧,Asahi Linux 表示“已努力使此安装程序尽可能安全。”
团队解释道,所有磁盘管理操作都是使用本地 macOS 工具在幕后执行,Asahi Linux 安装程序并不会做任何真正引发安全问题的操作,甚至在 Asahi Linux 的整个开发测试过程中,也没有发现任何 Mac“变砖”的现象。
不过,其团队还是谨慎道:“与所有开源软件一样,尤其是像这样的 Alpha 版本,我们不能做出任何承诺。”
从 Asahi Linux 官网介绍可以看出,这次的 Alpha 版本仅是一个开始:“我们的目标不仅仅是让 Linux 在这些设备上运行,而是将它打磨到可以用作日常操作系统的程度。”
在 Asahi Linux 的“强烈安利”下,许多开发者开始尝试在他们的 M1 系列 Mac 上安装定制化 Asahi Linux(安装 GNOME、LibreOffice、Docker/k3s、Bluefish、dotfiles 等)。
在这之中,知名 IT 专业人士 Jason Eckert 发现了一丝不寻常:“我注意到应用启动异常快,甚至 LibreOffice 应用都可以立即打开。”感到神奇的 Jason Eckert 立刻在 Asahi Linux 中安装了 Hugo(由 Go 语言实现的静态网站生成器),以此确定这种“快”是否源于操作系统的不同。
上个月,Jason Eckert 正好曾对同一 macOS 版本下英特尔芯片和 M1 芯片的 Hugo 表现做了对比:“Intel Core i9 用了 6126 毫秒(6 秒)来生成网站的所有 273 个页面,而 M1 只用了 549 毫秒(半秒)——苹果 M1 的速度提高了 11 倍以上!”
这次,Jason Eckert 依旧遵循着“控制变量”法:在上次测试的同一台 M1 Mac 上安装 Asahi Linux,确保数据结果只受操作系统影响。结果令 Jason Eckert 再次感到意外:“相比同一设备上 macOS 的表现,Asahi Linux 上的 Hugo 只用了不到一半的时间(210 毫秒)就合成了我网站的所有 275 个页面!”(注:macOS 中的 Hugo 是原生的,而非在 Rosetta 中运行)
对于这个对比结果,许多网友直呼不理解:“为什么呢?在我看来,这可能是由于 Rust 的 libc 没有在 macOS 上实现 statx 调用而导致的 2 倍性能差异,但这不应该被认为是操作系统的固有属性吧。对我来说,2 倍的性能差异听起来像是想要邀请进行更多基准测试,毕竟很难理解这是为什么。”
也有网友指出,275 个页面太少:“这个时间(210 毫秒)对于有意义的基准测试来说太短了,因为还有初始化和其他类似工作会影响测试结果。你需要一个页面多 100 倍的测试。”
但也有人指出,Linux 的性能的确优于 macOS:“我也有这种感觉,在 Linux 上编译 C 程序的速度几乎是 macOS 上的两倍。”
那么在了解过后,你是否期待 Asahi Linux 稳定版,又是否想要尝试一番呢?
参考链接:
https://asahilinux.org/2022/03/asahi-linux-alpha-release/
https://twitter.com/AsahiLinux/with_replies
https://old.reddit.com/r/linux/comments/tj12vw/hugo_runs_twice_as_fast_in_asahi_linux_than_macos/