之间网

我们现在距离在AppleSilicon上运行Linux仅一步之遥

世界动态
导读 如果去年发布了其首款台式机级片上系统设计芯片Apple M1,该芯片基于与大多数智能手机和平板电脑相同的ARM架构。尽管Linux在ARM设备(如Ras

如果去年发布了其首款台式机级片上系统设计芯片Apple M1,该芯片基于与大多数智能手机和平板电脑相同的ARM架构。尽管Linux在ARM设备(如Raspberry Pi)上已经运行了好几年,但是Apple的硬件是高度定制的,需要特定的软件支持。值得庆幸的是,我们现在距离在Apple Silicon上运行Linux仅一步之遥。

朝日Linux一直致力于为Apple Silicon Macs带来“完美的Linux体验”,并且一直在将其代码提交给Linux项目,以包含在正式的Linux内核中。该小组的最初工作已经合并到Linux SoC代码库中,并且很可能会作为即将到来的Linux 5.13更新的一部分而出现。

令人高兴的是,在第一批硬件开始发售仅几个月后,对Apple新硬件的初始支持就出现在Linux内核中,但是关键字为“ initial”。从技术上讲,虽然Linux在M1上启动,但距离插入Live USB驱动器并单击安装按钮还有很长的路要走。当前代码包括对基本底层功能的支持,例如通过旋转表进行对称多处理,IRQ处理,串行连接和帧缓冲区。Linux可以引导至命令提示符,但只能引导至其他命令-甚至还没有完整的图形支持。

虽然官方内核对M1硬件的支持正在稳步发展,但是有些人通过各种黑客手段已经设法接近真实的桌面体验。专门从事ARM虚拟化的开发公司Corellium能够在M1 Mac Mini上创建可用的Ubuntu桌面。该团队开发了自己的内核补丁和驱动程序,这些内核补丁和驱动程序处于Linux内核上游的各个阶段,例如Asahi Linux项目中最近合并的代码。

Corellium在博客文章中写道M1的体系结构与其他ARM设计有何不同。“引导加载程序(通常称为iBoot)以称为Mach-O的格式加载可执行的目标文件,可以选择将其压缩并包装为基于签名的基于ASN.1的包装器格式,称为IMG4。为了进行比较,在64位ARM上的常规Linux从平面二进制映像开始。” 该小组接着说:“如果这还不够的话,Apple设计了自己的中断控制器,即Apple中断控制器(AIC),它与两种主要的ARM GIC标准都不兼容。不仅如此:计时器中断(通常与ARM上每个CPU的常规中断连接)被路由到FIQ(一种强大的体系结构功能),在旧的32位ARM时代更为常见。”

苹果公司的M1芯片组目前在MacBook Air,MacBook Pro和Mac Mini上发售。这是一个总共有8个内核的5nm芯片:四个高性能内核和四个节能内核。还有一个用于机器学习任务的神经引擎,以及一个八核GPU。苹果公司承诺,M1将提供比以前使用的英特尔CPU更好的性能,同时仅使用大约四分之一的功率,后来的实际测试证明了这些主张。值得庆幸的是,M1完全支持引导未签名/自定义的内核,因此运行Linux不需要任何安全漏洞,以后可以对其进行修补。

苹果自己的macOS已经是一个很好的操作系统,但是对于某些潜在的MacBook和Mac Mini买家来说,选择台式机Linux可能是一个不错的卖点。多年来,苹果因锁定macOS的某些方面或放弃跨平台标准而采用专有替代品而面临批评。例如,macOS仍不支持图形的跨平台Vulkan API,仅支持公司自己的Metal API。

标签: