I'm trying to install Linux on the new April 2016 MacBook 12" (A1534).

Booting from USB via EFI works fine: I tried Arch Linux (2016.05.01, kernel 4.5.1) and Ubuntu (16.04, kernel 4.4.0-21; and Lubuntu 15.10). I had to pass the kernel options noapic in the Arch Linux case and noapic acpi=off noacpi nomodeset in the Ubuntu case – otherwise the screen stays blank and the kernel doesn't boot.

Even the wireless card works out-of-the-box (Broadcom BCM4350 802.11ac 14e4:43a3). Also suspend-to-RAM works. (Keyboard and touchpad don't work, but these are not my priority at the moment.)

However, the kernel doesn't detect the built-in flash drive (the MacBook doesn't have a further storage medium). That is, blkid and cat /proc/partitions do not show any entries pertaining to the flash drive. Based on suggestions for older MacBooks, I loaded the kernel module nvme, and, since the flash drive reports an incorrect PCI device class, manually bound it with:

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

The dmesg output is non-informative, it just reports that the probe failed. The flash drive reports under lspci -nn as:

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

Note that this is different from previous versions of the MacBook (where the PCI ID was 106b:2001). The flash drive is detected from the Grub shell and works just fine from Mac OS X.

What should I try next? I'm hoping that there are indeed further suggestions, at this point I'm at a loss.


I can now happily confirm that accessing the built-in flash drive works without problems using kernel 4.6.0-rc7 and manually binding the device using:

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

I'll submit a patch which will make the manual binding superfluous.

During testing I had one episode of spurious timeouts which I was never able to reproduce again. The driver seems to be stable even when doing moderately disk-intensive stuff.

The only remaining problems with the MacBook are:

  1. Audio playback doesn't work (recordings works fine).
  2. Keyboard and touchpad don't work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.