# 具有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，相信已经得到了较好的支持。
* 2019年的进展状况参考 [The state of Linux on a MacBook Pro with Touchbar](https://geeknet.me/the-state-of-linux-on-a-macbook-pro-with-touchbar/)

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

* [Dunedan/mbp-2016-linux](https://github.com/Dunedan/mbp-2016-linux/blob/master/README.md) 搜集了有关MacBook Pro 2016&2017版本的Linux支持状态，非常详尽的信息汇总，可以作为参考起点。
* [roadrunner2/0 Linux-On-MBP-Late-2016.md](https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7)介绍了安装经验，非常

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

* [mikeeq/mbp-fedora](https://github.com/mikeeq/mbp-fedora) 汇总了驱动信息和安装经验
* Reddit上的[What Linux distro works with 2017 MacBook touchbar?](https://www.reddit.com/r/MacOS/comments/7zyufn/what_linux_distro_works_with_2017_macbook_touchbar/)讨论了在MacBook Pro with touchbar上运行Linux的事情。
* [Linux on mid-2017 MacBookPro](https://nixaid.com/linux-on-macbookpro/)介绍了在MacBook Pro Core i7 2.9 15" Touch/Mid-2017 with AMD Radeon Pro 560硬件平台安装Ubuntu Linux的方法：
  * Ubuntu 18.04（Linux 4.15.0-22）提供了能够支持touchbar和键盘

在最新款的MacBook Pro上运行Linux最好通过[VMware Fusion](https://github.com/huataihuang/cloud-atlas-draft/tree/f65015c8dc3e4542f29f7c849e8e65f3a26e5fd4/virtual/vmware/vmware_fusion/README.md)或者[HyperKit/xhyve](https://github.com/huataihuang/cloud-atlas-draft/tree/f65015c8dc3e4542f29f7c849e8e65f3a26e5fd4/virtual/xhyve/README/README.md)

* 使用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?](https://unix.stackexchange.com/questions/463422/how-can-you-get-any-version-of-linux-to-see-the-2018-macbook-pro-ssd/471124#471124):由于最新的Mac硬件配备了T2安全芯片，所以只有通过Boot Camp才能安装第三方操作系统，而Boot Camp只支持Windows 10。这就导致无法在MacBook Pro 2018上直接安装Linux操作系统，即使关闭[Secure Boot](https://support.apple.com/en-us/HT208330)也无法看到内置硬盘，所以无法安装系统。可能的解决方案是采用外接U盘来安装运行Linux系统，因为T2芯片不阻止外接U盘启动

不过，最新的[NVMe驱动内核补丁(没有进入主线)](https://www.phoronix.com/scan.php?page=news_item\&px=MacBook-Finally-Linux-SSD-RW)已经开始支持读写MacBook Pro硬盘，所以理论上可以安装Linux到最新的MacBook Pro笔记本。具体需要参考 [MacBookPro 15,1/2? #71](https://github.com/Dunedan/mbp-2016-linux/issues/71#issuecomment-507325112) 进展。这个issue中，TRPB提供了一个在MacBook Pro 2018上运行Linux的指南 [arch-macbook2018.md](https://gist.github.com/TRPB/437f663b545d23cc8a2073253c774be3)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://huataihuang.gitbook.io/cloud-atlas-draft/develop/mac/macbook_touchbar_and_linux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
