Shoehorn Linux into a MBPr 10,1 (Late 2012)

Intro.

The guide below was put together from a number of sources for my use, primarily so I wouldn’t lose this information as I tend to wipe my computers fairly often and this website serves as a perfect resource from which to refer to.

I have used this process to install the following O/Ss’ onto my MacBook with a very high rate of success (so close to %100 I might as well be %100):

  • Linux Mint 15 32bit XFCE
  • Linux Mint 15 Cinnamon 64bit
  • Ubuntu 13.04 64bit
  • Ubuntu 13.10 64bit

Via Apple’s BootCamp software, the above operating systems have shared my 512gig SSD space with:

  • Windows 7 64bit
  • Windows 8 64bit
  • Windows 8.1 64bit

Prepare the MacBook.

Like courting your future wife, this should be approached with tender hands, thoughtful consideration, and a degree of alcohol (or amyl nitrate).

Step 1 – Work out how much space you will need for your new Ubuntu (or other Linux flavour) partition on the MacBook; then double the amount.

Step 2 – Free up space as appropriate by deleting the dross that has accumulated on your beloved MacBook since its delivery into your care.

Step 3 – Using the OSX (10.9 in my case) Disk Utility, resize (shrink) the Macintosh partition and apply the changes to create the ‘free space’ needed to sew the seeds of open-source goodness on your computer.

NB: Leave the future Ubuntu partition as Free Space for the moment as Ubuntu’s installer will sub-divide (& occupy) the gap with Ubuntu’s installation as it deems fit (ie: with swap-sapce & other partitions etc).

Using Disk Utility to shrink the OSX partition, thereby creating 'Free Space', ready  for Ubuntu.

Obtain Ubuntu 13.10 & bake it onto a bootable USB

(From within OSX 10.9, of course!)

(Kindly partially reproduced from the Ubuntu website here, courtesy of Canonical, and others)

Step 1 – Download your flavour of Ubuntu from here.

Step 2 – Open the OSX Terminal via Spotlight or at /Applications/Utilities.

Step 3 – Convert the downloaded Ubuntu .iSO file to .IMG via the following Terminal command: (adjust file links as appropriate in your case)

hdiutil convert -format UDRW -o ~/pathto/target.img ~/pathto/ubuntu.iso

Note: OSX usually pops a .DMG extension on the end of the image file automatically. .

Terminal

Step 4 – Run diskutil to get the current list of connected drives.

diskutil list

Step 5 – Insert your flash drive of > 4gig capacity.

Step 6 – Run diskutil again and note the new drive address (or ‘device node’ as Canonical calls it); it’s something like “dev/disk1” etc.

diskutil list

Step 7 – Unmount the drive with the following diskutil command;:

With “N” being the number assigned to your future Ubuntu Live USB.

(as determined in the previous step)

diskutil unmountDisk /dev/diskN

Step 8 – “Burn” Ubuntu onto the bootable USB using the following:

sudo dd if=./ubuntu-13.04-desktop-amd64.img.dmg of=/dev/rdiskN bs=1m  

(again, these are just examples!)

9 – Eject the flash drive and you are done!         command.line$

diskutil eject /dev/diskN

(again, my example where “N” represents your USB’s drive annotation!)

Grab rEFInd and stuff it into the MBPr’s ESP (EFI System Partition)

(Kindly partially reproduced from the Roderick Smith’s highly detailed and technical website here)

Step 1 – Download your flavour of rEFInd from here.

Depending on your chosen method of installing rEFInd, the following steps may not be appropriate.

The method I used involved downloading the rEFInd Binary ZIP File and installing it via the

install.sh script as described here (useful if you are having trouble following my guide).

Step 2 – Anyway, here’s how I first attempted it: Unpack/extract rEFInd, and navigate to the containing directory from within the OSX Terminal.

Step 3 – Execute the ‘install.sh’ script from within the extracted rEFInd directory by typing “./install.sh” into your OSX Shell (see below).

NB: ensure that you don’t forget the full stop/period and forward slash at the beginning of Bash install.sh command (as demonstrated below).

cd ..
ls
cd Downloads
ls
cd refind-bin-0.7.4
ls
./install.sh

Step 4 – As part of this process, you may need to enter your root/sudo password, after which you should see a successful output similar to mine in the image below.

Navigating to, & running the refind 'install.sh' script.

Step 5 – Pop your Ubuntu Live USB (or other Linux Distro) into a spare USB port on your MacBook and reboot the computer.

Step 6 – All travelling well, you will be greeted by the rEFInd boot selection screen (below) with an option to boot the computer via the Linux Live USB. Select the Live USB and install your favoured  Linux Distro straight from the USB into the previously created Free Space on your Mac’s primary drive.

The rEFInd Boot Menu

The rEFInd Boot Menu

Step 7 – Once your installation is complete, remove your Live USB and reboot the computer. Your new Linux operating system should be now displayed prominently among your existing operating systems (in my case, Mac OSX 10.8.4, and Windows 7).

Depending on your particular hardware, the distribution of Linux you chose to install, and any future revisions to the software that I used to base this guide on (rEFInd 0.7.4 & Ubuntu 13.04); your experience may differ from mine described in the above guide.

A blurry as sh1t image of Ubuntu in all its Retina-display powered glory

A blurry as sh1t image of Ubuntu in all its Retina-display powered glory

In addition, in the past three days since I installed Ubuntu 13.04 on my MacBook Pro Retina, the only fault I have noticed to date is a failure of the GeForce GT 650M’s graphic driver (Nouveau) to correctly output colour onto an external monitor via the HDMI port. Providing I boot Ubuntu with my external monitor (an Acer 24in Full HD monitor) connected via HDMI, I am able to mirror or expand the desktop, however the colours on the external monitor are completely bizarre. So this is obviously going to be an area that I will focus my attention on in the coming days as I feel that I am only working with one eye open when I am forced to operate my computer using a single screen.

Having said that, everything else has been working without fault. I have read several blogs who’s authors have had multiple problems installing Ubuntu 12.04 and 12.10 on MacBook Pro Retinas (both the 13 & 15 inch models). Typically, these earlier editions of Ubuntu had problems with:

  • WiFi Adapters
  • Ethernet Adapters (mainly resulting from the lack of an ethernet port on the Retina models)
  • Bridging wired connections to the computer via the Apple Thunderbolt  to Ethernet attachment
  • Graphics Adapters
  • The Retina Display (with text and icons looking microscopic upon boot & failing to retain display resolution settings following reboot)
  • Loading rEFIt into the Mac’s ESP
  • Cooling fans not operating effectively to maintain a safe working temperature for the computer
  • Other associated problems

It is my guess that with Ubuntu 13.04 most, if not all, of these problems have been addressed, as I experienced no difficulties with the above issues. I have thoroughly tested the Apple Ethernet to Thunderbolt adapter & the WiFi adapter and can report that both work flawlessly under 13.04. And with 13.10 just around the corner, I expect further advances to be made (hopefully with the external monitors via HDMI issue!). About the only area I haven’t explored well is the battery life as I don’t usually work completely wirelessly. Because of this, I have not really put the MBPr’s battery through it’s paces via Ubuntu. That being said I did go for about 5 hours this morning without the power cable, and things seemed to be chugging along fairly well.

Update #1 23 Sep 2013: Re: the MBPr HDMI 2nd monitor colour issue in Ubuntu 13.04

Well, I have made some degree of progress regarding the Ubuntu 2nd monitor displaying warped colours problem.

For some unknown reason when I booted into Ubuntu, the colours on the 2nd Monitor (via the MBPr’s HDMI port) were appearing as normal, although this was happening infrequently.

For the most part I couldn’t predict when, nor understand why, I would occasionally be blessed by the Ubuntu Gods with a second monitor in all its regular-coloured glory.

But, after going a week without booting into OSX and just bouncing between Ubuntu (for general use and work) & Windows 7 (for Skyrim & Office 2013) it dawned on me.

Each time that I had booted into Ubuntu after using Win 7 during this week, I had a perfectly behaving, HDMI-fed second monitor, and it wasn’t until I needed to work within OSX one day that I wondered if this had any influence on the behaviour of my 2nd monitor under Ubuntu.

Sure enough, after trialling a few reboots into Ubuntu following time in both OSX and Win 7, I realised that each time I entered Ubuntu following OSX, my 2nd monitor was funked out. And each time I ran Ubuntu post time in Win 7, the monitor was fine.

Although I am much happier now I can run Ubuntu with a normally functioning 2nd monitor, it is a bit of pain just to make sure I run Windows first (not to mention inconvenient at times).

I suppose I shouldn’t complain, because I now have an otherwise fully functioning tri-boot setup running on a premium machine (the late 2012 10,1 MacBook Pro Retina), which is well documented as being a headache to set up under Linux.

Update #2 23 Sep 2013: Re: The OSX recovery disk utility resetting the MBPr’s ESP (EFI System Partition)

About a week ago, my Dad (who lives about 1500km south of me) called up for some telephone tech-support regarding an issue he was having with his two-month-old 2013 MacMini.

Dad had recently made the move from an ancient Pentium 4, Windows XP machine (circa 2003-vintage I’m guessing: and never de-fragged or re-installed I might add) to a new OSX MacMini on the recommendation of both myself and my, hopelessly tragic, Mac-fanboy younger brother.

Anywho, the Mini had been behaving itself for a couple of months until dad fired it up after an absence of several hours running errands in town during the day.

At approximately 9:45pm, I get a call from dad stating that he can’t boot into OSX because it seems to be stuck at the Apple logo or an even earlier state of the OSX boot process.

So, for the next hour I run through every conceivable fault identification and rectification technique I could think of, just to try and get dad’s computer functioning again.

My method to fix this issue involved the following over the course of the next hour:

  • Having dad reboot the machine while on the phone with me to describe exactly what is happening at each stage of the boot process, and to identify where the boot gets stuck
  • Having dad remove every unnecessary peripheral from the machine, and reboot while explaining to me what is happening at each stage of the rebooting process
  • Having dad swap-out his USB Apple keyboard and non-Apple mouse with a replacement USB keyboard/mouse and rebooting while commentating what he sees
  • Having dad remove EVERY peripheral and lead from the MacMini with the exception of the monitor and the power cable
  • Having dad replace each peripheral one at a time and rebooting
  • Having dad boot into the OSX recovery partition via Command-R (holding down the Command and R buttons during the boot process) to verify and repair the MIni’s HDD partitions
  • Having dad boot into the OSX recovery partition via Command-R to repair file system permissions if required

For the last two fault identification and repair techniques, I booted my MBPr into its recovery partition in order to see what I was trying to explain to dad what he should be doing.

Now, here’s where I made my mistake.

While talking to dad on the phone and concentrating on what he was explaining was happening on his machine, I absent-mindedly verified and repaired my OSX SDD within the MBPr’s recovery utility.

I didn’t think anything of it, and after a fruitless & frustrating hour on the phone to dad in my role of “familial tech-support”, we both decided that it had been enough, and we shut down our respective Macs for the evening.

The next day when I switched on the MBPr, I was surprised to notice that my beloved rEFIned OSX/Ubuntu/Win7 boot menu had vanished, and instead the MBPr was dutifully loading straight into Mountain Lion.

So, after a quickly formulating a plan to restore my rEFInd boot menu, I re-downloaded rEFInd from here and fired up the OSX Terminal to again use the rEFI install.sh script to load the boot manager into the MBPr’s ESP, as per the process described under the 3rd heading at the top of this page.

And a short time later, I had my rEFInd boot menu back, and was playing Skyrim in Win 7 & working in Ubuntu, safe in the knowledge that if ever Apple’s recovery tool hijacked my computer’s ESP, then I could easily take it back!

To finish the story, dad called back at about the same time the next night to say that his computer was now working and that it was a problem with the mouse and that as soon as he unplugged it and booted the Mini, it was able to function again perfectly well with the mouse plugged back in once the OS had loaded.

My reply was: “but isn’t that the third, & forth thing we tried last night to get the MacMini to boot? And hadn’t it failed to work on both occasions?”

He replied, “Yeah but I wasn’t actually doing most of the things you were asking me to try, because I didn’t want to get down behind the desk to unplug cords from the computer, only to have to plug them all back in again”.

Good grief.

I politely requested that he not call me the next time he has a technology issue, and rather to phone my brother.

Update #3 17 Mar 2015: Re: The MBPr & Windows 8.1 not being able to install upon the freshly prepared Bootcamp Windows partition.

Since shortly after purchasing my MBPr, I have had it set up as a triple-boot system between OSX, Linux (Ubuntu or Linux Mint), and Windows 7/8.1.  Every now & then, I go through the process of re-formatting the three partitions & starting afresh with newer releases of OXS or Linux.  During these re-installations, I have had a problem with getting the Windows installation program to install on my Bootcamp-prepared Win partition, even after allowing the Windows installation tool to re-format the selected partition.  This has given me hours & hours of grief and frustration due to the seemingly random nature of whether or not the Windows installation tool would grace my MPBr with the privilege of installing Windows.  Long story short: I figured out what the issue was which prevented me with being able to install Windows onto a Bootcamp (or any other partitioning tool) prepared NTFS partition.  As it turns out, the MBPr’s Thunderbolt to Ethernet adapter somehow confuses the Windows installation tool into thinking there is an error or issue with the Partitioning Table or MBR.  With the Thunderbolt to Ethernet adapter plugged into a Thunderbolt port during the Windows installation, the Windows installation tool refuses to install on the Bootcamp partition due to some sort of ?permissions or ?tabling error. This probably has something to do with the way external Thunderbolt hard-disk drives report their presence & specifications to the system.  My guess is that the presence of the Thunderbolt Ethernet adapter confuses the Windows installation tool into thinking there is a Thunderbolt-attached external HDD, which somehow jiggers up the Windows installation tool when it comes time to prepare the partition for the installation of Windows.  In order to rectify this issue, all one needs to do is unplug the Thunderbolt to Ethernet adapter before Bootcamp asks to reboot the computer to finish installing Windows. Once this is done, you should be able to faultlessly install Windows onto the Mac, albeit without a physical network connection.  You can still connect to your network (& therefore, the internet) via the WiFi adapter if you so desire.

The offending Thunderbolt to Ethernet adapter.

The offending Thunderbolt to Ethernet adapter.

.

 

Matt

Creative Commons License
This work is licensed under a

Creative Commons Attribution-ShareAlike 3.0 Unported License.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s