Saturday, 20 October 2012

Installing Ubuntu 12.10 on MacBookPro9,1 and all is good

Short Version

You need rEFInd, Ubuntu 12.10, 3.6 kernel, macfanctld.

All is good - except Nvidia drivers that did not work so well, especially by breaking resume which is something I must have.

Details


This is what I am doing:

Getting Ubuntu

Download ubuntu 12.10 - why not consider donating as well?
Burn to DVD.
Eject DVD.

Booting to Live Ubuntu

Shutdown MacBookPro9,1 (MBP).
Hold down 'option' key from here on.
Turn on MBP.
Push in DVD.
Hold down 'option' until you see pictures of hard drives and perhaps CDs and USBs.
Wait a while. Eventually you will see two DVDs: 'Windows' and 'EFI Boot'.
Click on 'EFI Boot'.
Select 'EFI Boot' with arrow keys and hit Enter.
Select 'Try Ununtu without installing' and hit Enter.
Ubuntu Live will start. This will take a few minutes.

Installing

Double-click 'Install Ubuntu 12.10'.
I then selected English and due to my own special requirements, I selected 'something else'.
You might like to try 'Install Ubuntu alongside...'

Note: if you select 'Erase disk and install Ubuntu' then you will get exactly that - my guess is that you DO NOT want to do that.

Here I have to setup my partition manually - you will not have to do this.
If you are interested in my setup, I have this:
sda1: efi 209 MB (EFI partition)
sda2: hfs+ 70 GB (OS-X)
sda3: hfs+ 650 MB (OS-X recover?)
sda4: biosgrub 200 MB (don't remember)
sda8: swap 20 GB
sda5: ext4 20 GB (linux root)
sda6: ext4 20 GB (linux root No. 2)
sda7: ext4 350 GB (/home)

(Boot loader on sda)

Selected Sydney, English(US) keyboard layout, created my user account, selected an icon, and Ubuntu started to install.

It was very quick to install for me.

Shutting Down

Hit 'Restart Now' button.
DVD ejected.
Hit Enter.
Hold down 'option' as soon as you here your MBP starting up.

Booting into Ubuntu

Hold down 'option' until you see pictures of hard drives and perhaps CDs and USBs.
Select 'Windows' and hit Enter.
I got an unhelpful 'Grub Recovery' prompt.
RATS!

Fixing Grub Recovery

I suspect that grub could not read or find my Ubuntu partition. Just a guess.
Odd. It is not as if there aren't very many MacBookPro9,1's around...
I have rEFInd installed so I tried that.
You can install rEFInd from OS-X. See here.
You may be able to use rEFIt if you have that installed, but I recommend rEFInd.

Booting using rEFInd

Shutdown.
Power on.
Select Ubuntu.
After some dodgy screen effects, Ubuntu booted to a blue background.

Getting 'Everything' Working

Ubuntu first wanted me to install language support.
To do this you will need a wired Ethernet connection to your Internet router.

Wireless

Install these packages
  • b43-fwcutter
  • linux-firmware (this should already be installed)
  • linux-firmware-nonfree
Reboot.

Note: I think a friend suggested bcmwl-kernel-source instead of these files, but it did not work for me - perhaps I misunderstood.

Kernel Upgrade

My previous experience suggests that a 3.6 kernel works better.
So I have installed four files from here - you can pick what kernel you want. Install the 'all' file, then the other header file followed by each image file.

UPDATE: I have found that only 3.7.0 and 3.7.5 (so far) work.

After a reboot, I noticed that my initial screen was no longer corrupted.

Fan

You have to have fan control or else your MBP will run too hot.
I used macfanctld from mactel support PPA (precise version).
I also have also written my own for a MBP4,1 that I'll test someday.

Summary

You need rEFInd, Ubuntu 12.10, 3.6 kernel, macfanctld.
Since Fan and sleep/wake are working now, I'm happy to turn this MBP into my daily compute.

I have also tried various Nvidia drivers - some work, but at a high cost of not resuming after standby. So I have removed these.



This works fine, but requires rEFInd. This is not a bad thing as rEFInd is really good, well documented and seems to be maintained by someone who knows a lot about EFI.

But, I want to try to boot to Linux without rEFInd. This may not be possible.

Another Attempt


Boot to OS-X.
Instructions taken from here - Read these. Below is just what I did, not something you should just blindly copy.
Download and install gdisk.
Open a terminal.
sudo gdisk /dev/disk0
I deleted my unwanted Linux partitions from previous attempts.
I created a new partition: id 99, 128M, type ef02 as per instructions.
Restart OS-X, hold down 'option' key and insert Ununtu DVD.
When available, select 'EFI Boot'.
Select 'Install Ubuntu'.
Select 'Something Else'.
Setup a 1 GB reiser boot, 19 GB ext4 root, 19 GB spare, 20 GB swap and rest is ext4 home.
After install, boot to OS-X.
sudo gdisk /dev/disk0
Follow instructions to remove hybrid MBR.
I made a Super Grub 2 Disk but it could not identify any grub 2 installation.

This got me no where, except I no longer have a 'dangerous' hybrid MBR.