How To Install Linux On A MacBook Pro Retina

MacBook Pros come with some very nice hardware, but some people want more. Some people want Linux.

Whether you’d like a more open and customizable operating system or simply need to dual-boot in order to access certain software, you might want Linux on your MacBook. The thing is, MacBook Pros are also pretty closed-down pieces of hardware that make installing other operating systems difficult – Linux more so than Windows. Boot Camp won’t help you with Linux, even though it doesn’t mean it’s impossible. Here’s how to do it.

Why Install Linux On A MacBook Pro Retina?

The reasoning for installing Linux on a MacBook Pro might seem a bit strange at first – isn’t OS X one of the main reasons to get a Mac? That might be true, but another great reason to get a Mac is the hardware. They offer excellent performance, superb battery life, and long durability. For the ones with a Retina display, you’re also wanting a HiDPI experience for ultra-crisp photos and text.

But if you don’t like Mac OS X, or simply need to use Linux, you may want to put another operating system on that Mac hardware. Linux is lean, open, and highly customizable. Who says that you can’t bring the two together in a happy marriage? Well, Apple might have a word to say about that, but you probably don’t care anyways.

Note: For the purposes of this tutorial, we’ll be using Ubuntu, the most popular Linux distribution, as our preferred choice. You’re free to choose a different distribution, but you can then only follow these steps are generic guidelines and not exact instructions. We claim no responsibility for any damage that is done to your system. Additionally, this tutorial assumes that you want to dual-boot between Linux and Mac OS X. It’s recommended to keep Mac OS X on the hard drive so that you can update the firmware if needed — something you cannot do in Linux.

Before we even start with the first step, make sure that your computer is backed up in case anything goes wrong. How you do this is up to you, so feel free to use Time Machine, CrashPlan, or whatever else you might prefer.

Download Ubuntu

First, you’ll want to get a copy of the Ubuntu desktop ISO image. Be sure to choose the 64-bit desktop flavor, and not the image made for Macs. The regular image can boot up in BIOS and EFI modes, while the Mac image can only boot up in BIOS mode. This was done on purpose for some Macs, but we want to be able to boot it up in EFI mode.

Write to USB Drive

Next, grab a USB flash drive that is at least 2GB large – we’ll use this to boot up the Ubuntu installer on. To make this drive you can follow the official Ubuntu steps, or use the dedicated GUI tool for the job.

Resize Partitions

mac linux disk utility   How To Install Linux On A MacBook Pro Retina
Once you’ve done that, you can get your MacBook Pro ready for the installation. Open up the Disk Utility, click on your hard drive on the left side, and then choose the Partitions tab. Resize the Mac partition to whatever size you’d like it to be — we’ll use the newly created free space to install Ubuntu.

Boot Up Ubuntu Image

mac linux boot   How To Install Linux On A MacBook Pro Retina
After that’s completed, plug in the USB flash drive you prepared and restart your MacBook Pro. Be sure to hold down the Options button from when the screen blanks out for a second to when you see a screen with various boot options. Choose the EFI option (the left one in case you see two of them) to boot up your Ubuntu USB flash drive.

When prompted to choose between “Try Ubuntu” and “Install Ubuntu”, choose “Try Ubuntu” because we’ll need to perform a step after the installer completes but before you restart the system.

Installer

Once the Ubuntu desktop loads, start the installer and go through it normally until you reach the partitioning step. If you cannot access WiFi, it’s because Ubuntu currently doesn’t recognize your WiFi chipset. Don’t worry – we don’t need to have Internet access right now, and it’ll detect the right driver to use whenever you boot up into your new installation later on.

mac linux installer partitions   How To Install Linux On A MacBook Pro Retina
Once you come to the partitioning step, choose to “Do something else”. Then, make sure that the small partition that’s ~128MB large is recognized as an EFI boot partition (you can check by clicking on it and choosing Options; additionally, that should be /dev/sda1). Next, you can create an ext4 partition in the new space and have the path “/” be mounted to it. You can also create multiple partitions here if you prefer that and know what you’re doing.

Before you continue to the next step, make sure that the bootloader installation location says /dev/sda1, as you want GRUB to be installed into that partition. Then, finish off the installation like normal.

EFI Boot Fix

mac linux efibootmgr   How To Install Linux On A MacBook Pro Retina
When the installer completes, don’t restart just yet! We still need to do one more thing so that we’ll be able to use GRUB. Run the following command: sudo apt-get install efibootmgr. This will temporarily install a configuration tool for EFI boot setups. Next, run sudo efibootmgr. This will print out the current boot configuration to your screen. In this, you should be able to see “ubuntu” and “Boot0000*”. Currently, the EFI system will point to Boot0080*, which skips GRUB and goes directly to Mac OS X. To fix this, run the command sudo efibootmgr -o 0,80. Now you can restart!

Congratulations! Your Ubuntu installation should now be working! However, there are a few tweaks that you can perform to have a better experience.

Various Tweaks

First, you’ll need to make a quick change to a GRUB setting so that the SSD won’t occasionally freeze. Type sudo nano /etc/default/grub in a terminal, and then find the line with GRUB_CMDLINE_LINUX and change it to GRUB_CMDLINE_LINUX="libata.force=noncq". Hit CTRL+X to save, and Y then Enter to confirm. Then, you’ll want to type sudo nano /etc/grub.d/40_custom into the terminal, which will open up a new file. In it, type this exactly:

menuentry "Mac OS X" {
exit
}

This will allow you to boot into your Mac OS X installation (the 32-bit and 64-bit entries in GRUB do not work). Do the same thing to save and exit, then type in sudo update-grub for the changes to go into effect. Finally, restart your system for good measure.

mac linux small retina   How To Install Linux On A MacBook Pro Retina
As you can see, everything is ridiculously small on the Retina display. To fix this, System Settings –> Display and change the scaling factor to something larger. On the Retina screen, everything will look extremely tiny and it will make your life much more difficult if you don’t change it to something you like.

You may also find that it’s difficult to grab the edges of a window for resizing. This can also be changed. Type sudo nano /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml into a terminal, and then change these values appropriately:

<distance name="left_width" value="4"/>
<distance name="right_width" value="4"/>
<distance name="bottom_height" value="4"/>

If that’s not big enough, you can also change those values to “6″ instead.

Finally, if you experience any washed out colors, you can grab the display color profile from Mac OS X and use it in Ubuntu. Mount your Mac OS X drive and navigate to /Library/ColorSync/Profiles/Displays/Color LCD-xxxxxx.icc, where xxxxxx is some random string (there should only be one file anyways, but this string gets randomized). Copy it into your Ubuntu home folder, and then go to System Settings –> Color and choose Add New Profile and choose the profile you saved in your home folder.

Conclusion

mac linux final   How To Install Linux On A MacBook Pro Retina
Congratulations! You now have a great working Linux installation on your MacBook Pro Retina! Feel free to make additional tweaks to make Ubuntu feel more like home. I’m sure that these instructions can be applied to other Mac systems, but each new release has its own pitfalls and advantages. If you use a different machine, it’s a good idea to look up some documentation first, such as this for Ubuntu.

Additionally, feel free to check out other great Linux distros that you can install to your Mac!

Have you installed Linux on a Mac? What problems did you encounter and how did you solve it? Let us know in the comments!

Image Credits: K?rlis Dambr?ns Via Flickr

6 Comments - Write a Comment

0 votes
Reply

Aidan Harris

Word of advice don’t use Ubuntu but instead use the GNOME variety UbuntuGNOME (https://wiki.ubuntu.com/UbuntuGNOME/OneStopPage). I am typing this post from UbuntuGNOME using Firefox and it is so much more trusty (pun intended for those that get it) than Ubuntu and it’s Unity desktop environment. If you follow all of the steps above but use UbuntuGNOME instead your eyes will thank you. Ubuntu does not yet have proper support for high dpi displays such as the MacBooks. Where as with UbuntuGNOME if you enable the “Large Text” option and change the text scaling and mouse cursor sizes it makes the entire OS easier to use. Ubuntu is great but I’d never recommend it for a MacBook. I also use the following extension in Firefox which makes it much easier to use:

https://urandom.ca/nosquint/

“Don’t worry – we don’t need to have Internet access right now, and it’ll detect the right driver to use whenever you boot up into your new installation later on”

This is the only problem that I have ever encoutered installing Ubuntu on my MacBook. Ubuntu should detect the wifi drivers but this never happens (at least for me).

I fixed this by using the ethernet-to-thunderbolt adaptor that I have and plugging that in before booting up the MacBook in order to gain Internet access.

Once booted up I simply opened up a Terminal and typed the following:

sudo su
[Enter your password]
apt-get update
apt-get upgrade (not needed but you might as well check if there are any updates and if there install them)
apt-get dist-upgrade (same as above not needed but you still might as well do it)
apt-get install bcmwl-kernel-source (this command will install the Broadcom 802.11 Linux STA wireless driver)
apt-get autoremove (this command also isn’t needed but it doesn’t hurt to input it)

The above set of commands will fix any issues with the wifi and after inputting them you should be able to apply the wifi driver in “Additional Drivers”

0 votes

Danny S

Yeah, I’ve noticed this myself that Ubuntu still isn’t all that good with HiDPI screens even though that’s supposed to be “new and improved”. Unity does scale to where things are readable, but it’s sometimes still buggy and it looks weird. Since writing this article I’ve personally switched to Linux Mint 17, because they’ve done a fantastic job with adding HiDPI support to Cinnamon. It looks so much better now.

While I plan on keeping that on my computer, you’ve made me curious enough to try Gnome Shell just to see how it behaves.

0 votes
Reply

archuser

Cinnamon uses gnome 3 as back-end so has HiDPI Support, so no fantastic job done by Mint team.

0 votes
Reply

Nicolas Ehrhardt

Battery life would be one of the main reason I would get a mac to probably install a flavor of Ubuntu on it. Could you tell us about the battery life you have using your ubuntu compared to macOS ?

Thanks!

0 votes

Danny S

It’s been pretty good. Still less than when running on Mac OS X, but I can still get a good 6-7 hours of light use out of it.

0 votes
Reply

Jhow L

I have a question about Linux mint 17 Cinnamon on the Mac Pro Retina. Its Hidpi didn’t work, can you show me how to fix it? Thanks a lot.

Your comment