访问 2016 年 4 月 MacBook 12" (A1534) 的 NVMe 闪存驱动器

访问 2016 年 4 月 MacBook 12" (A1534) 的 NVMe 闪存驱动器

我正在尝试在 2016 年 4 月新推出的 MacBook 12" (A1534) 上安装 Linux。

通过 EFI 从 USB 启动工作正常:我尝试了 Arch Linux(2016.05.01,内核 4.5.1)和 Ubuntu(16.04,内核 4.4.0-21;和 Lubuntu 15.10)。我必须noapic在 Arch Linux 案例和noapic acpi=off noacpi nomodesetUbuntu 案例中传递内核选项 - 否则屏幕将保持空白并且内核无法启动。

甚至无线卡也可以开箱即用(博通 BCM4350 802.11ac 14e4:43a3)。挂起到 RAM 也有效。 (键盘和触摸板无法使用,但目前这些不是我的首要任务。)

但是,内核没有检测到内置闪存驱动器(MacBook 没有其他存储介质)。也就是说,blkidcat /proc/partitions显示与闪存驱动器有关的任何条目。根据对旧款 MacBook 的建议,我加载了内核模块nvme,并且由于闪存驱动器报告了不正确的 PCI 设备类,因此手动将其绑定为:

echo 106b 2003 > /sys/bus/pci/drivers/nvme/new_id

dmesg 输出没有任何信息,它只是报告探测失败。闪存驱动器报告如下lspci -nn

01:00.0 Mass storage controller [0180]: Apple Inc. Device [106b:2003] (rev 11)

请注意,这与以前版本的 MacBook(PCI ID 为 106b:2001)不同。闪存驱动器可从 Grub shell 中检测到,并且在 Mac OS X 中运行良好。

接下来我应该尝试什么?我希望确实有进一步的建议,目前我不知所措。

答案1

我现在可以高兴地确认访问内置闪存驱动器没有问题使用内核 4.6.0-rc7 并使用以下命令手动绑定设备:

echo 106b 2003 > /sys/bus/pci/drivers/nvme/new_id

我将提交一个补丁,这将使手动绑定变得多余。

在测试过程中,我遇到了一次虚假超时,但我再也无法重现。即使在执行适度的磁盘密集型操作时,驱动程序似乎也很稳定。

MacBook 唯一剩下的问题是:

  1. 音频播放不起作用(录音工作正常)。
  2. 键盘和触摸板不起作用。

相关内容