Sky Watch

New Macbook Pro

So, I bought myself a new 15 inch Macbook Pro. It’s the 2011 model Macbook Pro 8,2. It has OS X Lion pre-installed, which is also new and shiny. But I was most interested in fitting an Arch Linux into it. I burned a Arch Linux install CD, and booted from it.

Surprisingly it complained about not finding root fs (as far as I can recall) which should be the CD itself. Google showed that the DVD-rom device cannot be identified by the kernel when booting in BIOS mode (as oppose to EFI mode), even though Grub knows it[1. https://bbs.archlinux.org/viewtopic.php?pid=935983#p935983, http://ubuntuforums.org/showpost.php?p=10836560&postcount=442]. I ended up using Archboot. It still couldn’t find the DVD, but it seemed to load itself into the RAM first, so it didn’t need the DVD to load the kernel. Then I could continue the installation according to this guide.

OS X Lion comes with a recovery partition of about 650MB. So before installing Linux, three primary partitions were already occupied (The EFI partition, Lion itself, and the recovery partition). This left me with no choice but to make a last primary partition for /boot. After that, I made three extended partitions for a shared space, /home, and root. As a side note, usually the kernel doesn’t have to be in a primary partition; however rEFIt may have problem booting the Linux from an extended one.

There are generally two ways to boot a Linux on a macbook: directly boot in EFI mode, or use rEFIt to boot in BIOS mode. Booting in EFI mode requires to install Grub2 as a EFI application, which is described here and here. Basically I needed to checkout the newest Grub2, compile it with EFI support, make a EFI image with grub-mkimage, and copy all the stuff to the EFI partition. Once that is done, I may either load it from rEFIt, or bless it and boot directly from it. Booting in BIOS mode means to install Grub into /boot, and set the boot flag on that partition, then rEFIt can boot it as a legacy OS.

I got both setup work. However, as expected, in BIOS mode, the DVD-rom is not identified. And the Intel graphic card is totally missing. In EFI mode, the Radeon graphic card has “corrupted rom”, and I haven’t got the Intel card working in Xorg. In both mode, I can’t have multitouch, the fn key doesn’t work[2. https://bbs.archlinux.org/viewtopic.php?id=123749], and I also can’t adjust the screen brightness (I succeeded once, but never did after that). The BCM4331 wireless adapter doesn’t have a native driver yet. I was able to find a windoze driver for Ndiswrapper, but it randomly (with a good possibility) freezes when modprobing.

UPDATE: I got wireless work natively[3. BCM4331 wireless native driver].