This page describes how to install Debian on a MacBook Pro.

The first step is to install and run [http://www.apple.com/macosx/bootcamp/ Boot Camp]. You can skip the step that allows you to create a Macintosh Drivers CD. At the Start Windows XP Installation step, you should insert a Debian installation CD.

If you press return at the ISOLINUX prompt, the kernel may panic while enabling the IO-APIC IRQs ([http://bugs.debian.org/381719 bug 381719]). To avoid this, enter "install noapic" at the ISOLINUX prompt.

When you reach the "Install the GRUB boot loader on a hard disk" step, switch to the second virtual console by pressing ctrl-option-F2, press return to start the shell, and then enter

 chroot /target apt-get install refit
 /target/sbin/gptsync /dev/sda

and enter y at the prompt.

Switch back to the first virtual console by pressing ctrl-option-F1 and select <Go Back> in response to the "Install the GRUB boot loader to the master boot record". Choose "Install the LILO boot loader on a hard disk" from the main menu and choose /dev/sda3 for the LILO installation target.

Kernel

As of 2.6.17-6, the Linux kernel package in Debian does not support the fn key, sound, or the MacBook Pro touchpad with the appletouch module. To fix the first and last of these, you should compile a custom kernel package that adds the following patches:

and uses the following configuration settings:

CONFIG_USB_APPLETOUCH=m
CONFIG_USB_HIDINPUT_POWERBOOK=y

Once you've compiled and installed a kernel with these patches, you'll need to ensure that the touchpad is bound to the appletouch driver instead of the usbhid driver. You can do so by ensuring that the appletouch module is loaded before the usbhid module by creating a file in /etc/modprobe.d that contains the following line:

install usbhid /sbin/modprobe appletouch && /sbin/modprobe --ignore-install usbhid $CMDLINE_OPTS

To fix the sound, I created a package based on the latest upstream development kernel and unmuted the Side channel. I testing whether the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62fe78e90dc25b269362034487dc450cd8453e8c two] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c3dec0679c66ce177726802adbe2f403942fc27 patches] can be backported to the Debian kernel source.

X Windows System

To use the X Windows System, install the non-free fglrx-driver package and, in the Device section of /etc/X11/xorg.conf, change the driver from "ati" to "fglrx".

Edit /etc/X11/xorg.conf and in the Module section, add the following line:

        Load "synaptics"

Replace the contents of the ?InputDevice section with the "Configured Mouse" identifier with the following:

        Identifier      "Configured Mouse"
        Driver          "synaptics"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option          "MinSpeed"              "1.0"
        Option          "MaxSpeed"              "1.0"

Once this is done, tapping the touchpad with two fingers should generate a middle-button click and tapping it with three fingers will generate a right-button click.

Plan

Here's what needs to be done: