Dual Boot MacBook Pro

Well I decided to dual boot my new Core2Duo MacBook Pro with Linux and OSX. For the most part I followed the excellent OnMac.net wiki article, however I did add a few extra steps as well as run into a few problems.

The first problem I ran into was partitioning. Every article I read online suggests using the diskutil resizeVolume command in OSX or Apple Boot Camp. I could not get either to work, so I decided to back everything up and start from scratch.

  • Backup Data
  • Load OSX Installer Disk
  • Select Utilities -> Disk Util
  • Select the Partition Tab
  • Choose the Main Partition and press the Split button
  • Setup the partitions. I chose to setup my OSX partion as a 120GB partition with a journaled Mac OS filesystem. For linux I just left the remaning 20GB as free space.
  • Close the Disk Util and install OSX on the partition you created.

Once the install is done you can either update your entire system or wait until after you install linux to update. I chose to update first. Once that is done you need to install rEFIt. Doing this now allows you to boot linux when the installer needs to reboot.

I decided to install Fedora Core 6 becuase that is what we use at work. Load up the installer and check if your keyboard works. If your keyboard does not work when you boot the installer, reboot until it does. I am not sure why this happens, however I found that plugging in a usb keyboard or a single reboot gets it working. Once you have a keyboard that works, start the install by typing linux vga=791.

You can install linux like normal, except for partitioning the disk and installing the bootloader. For partitioning, make sure you select to “Use Free Disk Space” and default partition setup. Using the default fedora partition setup works great as long as you are not going to triple boot Windows. For the bootloader, install grub to /dev/sda3 (hd0,2) and not the master boot record. I read that you should use lilo or elilo instead of grub, however the grub version that FC6 installs works without a problem.

Once the install was finished I booted linux and installed a a 2.6.20.1 kernel with the mactel patches.

  • Open a terminal window and login as root.
    $> cd /usr/src
    $> wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.1.tar.bz2
    $> tar -xvjf linux-2.6.20.1.tar.bz2
    $> ln -s linux-2.6.20.1 /usr/src/linux
    $> mkdir mactel && cd mactel
    $> svn co https://mactel-linux.svn.sourceforge.net/svnroot/mactel-linux/trunk/kernel/mactel-patches-2.6.20
    $> ./apply /usr/src/linux
    $> cd /usr/src/linux
    $> cp /boot/config-`uname -r` ./.config
    $> make menuconfig
  • Go to “Load an Alternate Configuration File” and choose .config
  • Select the following drivers:
    Processor type and features -> Processor family -> Core2/Newer Xeon
    Drivers -> Macintosh Device drivers -> Support mouse 2+3 emulation
    Drivers -> Hardware Monitoring Support -> Intel Core (2) Duo/Solo Temp. Sensor
    Drivers -> Hardware Monitoring Support -> Apple SMC
    Drivers -> Graphics -> Intel-based Macintosh Framebuffer Support
    

    Save the configuration

  • Compile the kernel with make rpm

When it is done compiling you will have a rpm kernel in /usr/src/redhat/RPMS/i386. Install the rpm and make the initrd image with mkinitrd /boot/initrd-2.6.20.1-mactel.img 2.6.20.1-mactel. Edit /etc/grub.conf so it has the following:

title Fedore Core (2.6.20.1-mactel)
        root (hd0,2)
        kernel /vmlinuz-2.6.20.1-mactel ro root=/dev/VolGroup00/LogVol00 quiet vga=791
        initrd /initrd-2.6.20-mactel.img

Reboot and boot your new kernel.

Now we want to get the correct screen resolution and 3d-acceleration working. To do this we need to install the ATI fglrx driver. We built our own kernel, so we need to use the installer off of Ati’s website. Login to a shell as root again.

wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.34.8-x86.x86_64.run
chmod +x ati-driver-installer-8.34.8-x86.x86_64.run
./ati-driver-installer-8.34.8-x86.x86_64.run

Follow the instructions to install the driver. Now there is a problem, the ati driver does not support kernel 2.6.20 yet and the driver needs a patch to load correctly. Here is how to patch it.

$> cd /lib/modules/fglrx/build_mod
$> patch -p5 -i /path/to/ati.patch
$> ./make.sh
$> ../make_install.sh
$> depmod -a
$> modprobe fglrx

Now you need to configure Xorg to use the new fglrx driver. We will use the gui program system-config-display. Select the Hardware tab, and click the Monitor type configure button. Select Generic LCD -> LCD Panel 1440×900. Click ok, then click the Video card configure button. Select fglrx from the list of drivers and click ok. Save your settings and close the program. Now restart Xorg by clicking CTRL+ALT+DEL. When Xorg starts again you should have the correct resolution and a much nicer looking desktop.

I have not setup sleep, synaptics touchpad suuport, or the keyboard to handle the sound, brightness, and eject keys. Once I do, I will update this post with information on that. I hope this helps anyone looking to install Fedora Core 6 on their new C2D MacBook Pro.

Files:
http://www.mattweber.org/files/ati-2.6.20.patch

Links:
Triple Boot Via Boot Camp
Debian on a MacBook Pro
MacBook Pro with Fedora Core 6
Gentoo Macbook Hardware

Leave a comment ?

10 Comments.

  1. Thanks. Your article has made me seriously consider Mac. Please do update when you get rest of the stuff working.

  2. Unfortunately my hard drive just died and I need to get a new one. Once I get that repaired I will reinstall Linux and update this post with any new information I find. Anyways, I would definitely get a Mac. You can run Windows, Linux, and OSX all on one machine. I dual boot Linux and OSX, then run Windows XP in a Parallels Desktop virtual machine. Thanks for the new link.

    -Matt

  3. My hard drive has been replaced and I have installed Ubuntu on my macbook. I will do a write up on the install process this week.

  4. I just downloaded the fglrx 8.35.5 and it doesn’t compile using the above patch on 2.6.20… so I wrote a new one.

    ati-2.6.20_8.35.5.patch

  5. Thank you!
    I have been trying install linux on my macbook for a while.
    In step one you say to use the command:
    “svn co https://mactel………”

    when i do this fedora comes back with saying:
    “bash: svn: command not found”

    does anyone have any ideas?

    thanks, james

  6. James,

    You need to have subversion installed. Using fedora you can run the following command as root to install it:

    yum install subversion

    Let me know what problems you are having and I can help get you though the install. I do not have Fedora Core 6 installed anymore due to my hard drive going dead on me, but I do have Ubuntu Feisty Fawn working flawlessly with sleep, wireless, synaptics touchpad, volume + brightness + eject keys, and the ati drivers. I have also installed a triple boot this time with OSX, Linux, and Windows. I am in the middle of doing a post for this setup, but I have been pretty busy lately. Check back in a week or so to see if I have finished that up.

  7. Have you figured out how to configure the touchpad, the brightness, and the keyboard backlight?

  8. I’m not that familiar with the topic, would you mind explaining in more indepth in a followup post?

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>