具有BouchBar的新款MacBook和Linux

实际上最新的MacBook产品使用的T1/T2安全芯片对第三方操作系统极其不友好,目前Linux在新版Macbook上运行还存在很多驱动问题,个人觉得还是太折腾了,作为主力工作电脑会花费太多精力,并且无法充分发挥苹果设备的功能和性能。作为技术尝试可以,但是不建议作为主力设备。

我个人还没有做这方面实践,毕竟要自废武功(抛弃掉苹果软硬件一体化的完善软件体系),而且我的技术重点是服务器端技术和开发,无法顾及太多这方面的hack技巧。

运行Linux系统我还是使用旧版的MacBook Pro(2013 late)主机和ThinkPad X220这样的Linux完善支持的设备。

最新款的MacBook Pro使用了TouchBar,功能强大,但是对于Linux支持目前还差强人意:

  • 最新的MacBook Pro和MacBook使用了SPI(Serial peripheral interface,串口周边接口)用于键盘/触摸板和touchbar,和其他笔记本使用的接口不同,所以Linux发行版较难兼容。目前Ubuntu 18.04已经能够驱动键盘和touchbar,相信已经得到了较好的支持。

以下两个github上的文档是非常完善的经验汇总(2018年之前使用T1芯片的Macbook产品),值得参考和借鉴

当前(2021年初),fedora已经能比较顺畅安装在具备T2芯片的Macbook产品上(2018年及以后的产品),不过需要借鉴以下文档实践:

在最新款的MacBook Pro上运行Linux最好通过VMware Fusion或者HyperKit/xhyve

  • 使用macOS最新版本和VMware Fusion Pro来虚拟机运行Linux

  • Fusion支持高级虚拟化功能,可以透传硬件(virt-x/virt-d),所以可以直接在Linux中测试硬件虚拟化,构建OpenStack

  • 使用macOS可以充分发挥硬件性能,并且不需要折腾Linux图形界面。上帝的归上帝,凯撒的归凯撒,Linux最好的是服务端开发,图形工作界面使用macOS可以节约大量的时间。

不过,我也准备采用双启动方式,在裸Linux下运行一个开发测试平台以便能够充分利用强大的MacBook Pro硬件性能和硬件特性。

参考 How can you get any version of Linux to see the 2018 MacBook Pro SSD?:由于最新的Mac硬件配备了T2安全芯片,所以只有通过Boot Camp才能安装第三方操作系统,而Boot Camp只支持Windows 10。这就导致无法在MacBook Pro 2018上直接安装Linux操作系统,即使关闭Secure Boot也无法看到内置硬盘,所以无法安装系统。可能的解决方案是采用外接U盘来安装运行Linux系统,因为T2芯片不阻止外接U盘启动

不过,最新的NVMe驱动内核补丁(没有进入主线)已经开始支持读写MacBook Pro硬盘,所以理论上可以安装Linux到最新的MacBook Pro笔记本。具体需要参考 MacBookPro 15,1/2? #71 进展。这个issue中,TRPB提供了一个在MacBook Pro 2018上运行Linux的指南 arch-macbook2018.md

Last updated