I must have done this a million times, but each time I have to painfully go through the steps again and they do seem to change. Here are the points that seem to work today for El Capitan and Ubuntu 14.04.4. There is an alternative setup that doesn’t use rEFInd and just hacks around with Ubuntu Grub and also a different way using Try Ubuntu
- Download rEFInd. This is the boot tool that can control Mac OS X and Ubuntu booting.
- Make some room on your Mac (hope you have a TB hard drive!) for the Ubuntu partition. Goto Disk Utility/Partition and you drag around the circle to get the disk you need. Nice that the Mac allows live changing of partition sizes.
- Download the Ubuntu iso and create a USB bootable image using by first converting the ISO to an IMG with `hdiutil convert -format UDRW -o ubuntu.img ubuntu.iso` and then `diskutil unmountDisk /dev/disk2` or whatever your usb drive and then `dd if=ubuntu.img.dmg of-/dev/risk2 bs=1M`
- Shutdown the system and hold the Option and R key to get to the recovery system. Start Utilities/Terminal. Now you need to navigate to the place where rEFInd lives, usually, `cd “/Volumes/Macintosh HD/$USER/refind*” and run refind-install. At least on El Capitan, it complains that SIF (the new protection against low level disk is active). Ignore this and it seems to install.
- Now reboot again and rEFInd should take over and you should see the Ubuntu USB as a bootable so go for it and install into the empty disk. Unfortunately, Ubuntu has no idea how to deal with the Mac partitions, so you need choose Something Else and reformat the empty space into a boot disk connect to `/` and a swap partition and pick ext4 as the partition type. Kind of complicated, but basically for the disk space you made choose `-` so it is free space then choose `+` and then select `-` since the default is allocate it all. Then make sure the mount point is `/`. Finally choose + and use the remaining for swap space.
- Now when you boot, you an choose between Ubuntu and Mac OS X 🙂
- The biggest gotcha is that on a MacBook 2014, the Broadcom wifi drivers are not loaded by default, so you must plug in your Thunderbolt Ethernet *before* you boot to Ubuntu (it doesn’t know how to deal with plug and play PCIexpress devices) and then do a `bcmwl-kernel-source` to get the wifi working.
- The super handy `dmi-util` is wonderful for figuring out you have a MacBook 11,3.
Things that you can’t do even on a dual boot system? Well first there is reading disks. The only common format seems to be FAT or using a network file server:
- Since you probably want to transfer files between the two, you need to use FUSE ext4 so you can read the ext4 files from the Mac side. $20 gets you the Paragon third party ext4 driver that reads and writes but has problems with El Capitan and the new SIF protection makes fuse-ext2 unusable. So in short, you can’t work with ext4 and El Capitan
- If you want to read HFS+ from Ubuntu, then you can do it read-only and that is built in. Unfortunately you can’t write unless you disable journalling which is kind of the point of modern file systems