Debian is a bit trickier to install and set up on a Macbook than Fedora is (Fedora on Macbook). Here's some information I found in comparison to Fedora.
All of this was done using Debian's graphical installer. YMMV if you use the text installer.
If you've never installed Debian on anything before, play around in VirtualBox for practice.
In Fedora when you let it create its own partition layout, it would create its own EFI system partition for /boot/efi
and install its boot code there. My disk looked like this:
/dev/sda1
: Apple EFI System Partition/dev/sda2
: Mac OS X/dev/sda3
: Mac OS Recovery/dev/sda4
: Fedora EFI System Partition (/boot/efi
)/dev/sda5
: Fedora boot partition (/boot
)/dev/sda6
: Encrypted LUKS + LVM container
/
/home
With Debian on the other hand, if you're not careful it will just install its bootloader onto the same ESP partition as Apple's. If you don't want that and you'd prefer Debian to use your own ESP partition, these are the steps:
Keep your eye on it as you go and add partitions, because for example setting up an encrypted space or LVM will require writing the partition table and it will reset which partitions it wants to "keep" or not, and it will probably put the "K" next to the Apple ESP again!
This isn't Mac specific, but Fedora makes it so easy to set up full disk encryption with LUKS (dm-crypt) and LVM and setting this up on Debian is a much more manual process.
The main thing to do is make sure you create an encrypted volume first, THEN put the LVM on top of it. If you do it the other way around you'll end up entering your encryption password once each for all the partitions inside the LVM!
So I set up my ESP and /boot partitions as normal (this part's easy), and then I picked the encrypted disk setup and chose the free space at the end of the disk for where to put the encrypted volume.
Once the encrypted volume was there I went into the Logical Volume Management and picked the /dev/mapper/
crypto partition as the target. In the LVM you can add multiple logical volumes and this is done similarly to normal partitions, so I made one for rootfs (50GB), swap (4GB) and home (the remaining space).
When I had Fedora on the Macbook: if I booted the computer while holding the Option key, the Apple Startup Manager would appear and list Mac OS X and Fedora as bootable targets, and any other bootable USB devices attached at the time. Also, under Mac OS X in the Startup Disk preferences, Fedora would have an entry and could be picked as the default operating system.
In Debian none of this got set up for me automatically.
I tried following directions from here but just ended up with an unbootable system (or rather, it would simply boot into OS X; Debian was still missing from the Apple Startup Manager). YMMV.
I decided not to mess with it. What I found from researching is that:
Macbooks have an Intel FAT ESP partition but they don't use it to boot. It occasionally gets used as a staging area for firmware updates though.
In the event that the EFI boot gets messed up and prefers Mac OS instead (e.g. this happens when upgrading to a newer version of OS X), I'll just have to use a Linux LiveUSB and re-assign the preferred boot order via the efibootmgr
command.
Unlike in Fedora, Debian fully supports all of the keyboard functions on the Macbook Air (mid 2015), including the display backlight keys. I now suspect this may have been an SELinux issue in Fedora, since Debian doesn't have SELinux and Fedora would try to adjust the brightness (showing a progress bar on-screen) but simply failing to.
In Fedora you'd have needed to get RPMFusion and install kmod-wl
or akmod-wl
to get the wifi to work.
In Debian you can follow the directions on the Debian wiki to get the wl
driver loaded. Briefly:
Enable the "non-free" repo in /etc/apt/sources.list
and run these commands:
# Update and install linux headers and broadcom-sta-dkms
% apt-get update
% apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
# Unload conflicting modules
% modprobe -r b44 b43 b43legacy ssb brcmsmac
# Load the wl driver
% modprobe wl
0.0035s
.