This page describes how to install Debian on a MacBook Pro.
Most points are the same like the MacBook so we point out the differences only.
MacBook Pro specific bugs can be found at http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=macbook-pro;users=kraai@ftbfs.org.
Install Debian
See the MacBook Install Debian section.
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.
Kernel
linux-2.6 2.6.18-3 supports MacBook Pros out of the box, but you'll need to ensure that the appletouch module is loaded before the usbhid module. You can do so 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
For some reason, this doesn't always work.
Using stock kernel and patch from svn
You can build your own kernel using the stock Linux kernel and the patches found in the [http://svn.sourceforge.net/viewvc/mactel-linux/trunk/ mactel-linux SVN]. Here is the steps to follow:
- download the source for the stock kernel from one of the kernel mirror,
- get the mactel-linux patches with svn:
svn co https://svn.sourceforge.net/svnroot/mactel-linux/trunk mactel-linux-trunk
- apply all the mactel-linux patches:
cd mactel-linux-trunk/kernel/mactel-patches-2.6.17 vi version.patch # if you are patching a kernel different than the svn one ./apply /where/you/have/the/kernel/sources
copy the config from the svn (trunk/kernel/mactel-patches-2.6.17/config-2.6.17-MBP) to your kernel dir, with name .config,
configure your kernel with make menuconfig, and control that CONFIG_FB_IMAC is not set,
build your kernel (fakeroot make-kpkg ...,
install your kernel (dpkg --install ...),
- reboot.
X Window System
(NOTE: This info is related to the first generation of macbook pro's. The new ones with the nvidia card don't work at the moment, and no one seems to have found a solution for getting the drivers function properly.)
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".
To enable 3D you need to build the kernel fglrx module:
apt-get install fglrx-control fglrx-kernel-src module-assistant m-a prepare m-a a-i fglrx depmod -a modprobe 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: (from the ?AppleTouch driver site http://www.popies.net/atp/)
Section "InputDevice" Identifier "Configured Mouse" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/input/mice" Option "Protocol" "auto-dev" Option "LeftEdge" "0" Option "RightEdge" "850" Option "TopEdge" "0" Option "BottomEdge" "645" Option "MinSpeed" "0.4" Option "MaxSpeed" "1" Option "AccelFactor" "0.02" Option "FingerLow" "55" Option "FingerHigh" "60" Option "MaxTapMove" "20" Option "MaxTapTime" "100" Option "HorizScrollDelta" "0" Option "VertScrollDelta" "30" Option "SHMConfig" "on" EndSection
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.
There are many options related to the synaptics driver that can be customized. Use $ synclient -l to list them all.
Note To have it working, you need to have a kernel with at least:
- CONFIG_INPUT_MOUSEDEV_PSAUX=y
- CONFIG_INPUT_EVDEV=y
- CONFIG_USB_HID=m
- CONFIG_USB_APPLETOUCH=m
Another way of implementing right click is (if you have GNOME): (thanks to fedora wiki)
To emulate right-click with the keyboard, you must bind a key on the keyboard to the mouse button you want and enable an accessibility feature called mouse keys:
- Choose System, Preferences, Accessibility, Keyboard
- Check "Enable keyboard accessibility features"
- Choose "Mouse Keys", check "Enable Mouse Keys"
I like the Left side "Command" key on my keyboard as the third mouse button, here's how I did it:
- Start gnome-terminal
- Run xev, it will display the X11 events it picks up
- Locate the keycode of the key you want to use:
Press the key you want locate and locate the ?KeyPress event in gnome-terminal
Write down the keycode of the keyevent
Run xmodmap -e "keycode 115 = Pointer_Button3" to update your keyboard map (for this login session only)
- Add to gnome-session-properties to enable every session.
Wireless
See the MacBook Wireless section.
Sound
See the MacBook Sound section.
With a Core 2 Duo MacBook Pro and kernel 2.6.18-3-amd64 sound only works with the headphone but no speaker output.
With a Core2 Duo MacBook Pro (built fall 06) running (unpatched) 2.6.18-3-686, sound output can be changed as follows in alsamixer:
- PCM channel changes overall volume
- Center and LFE channels change volume of headphones output (which is at the jack labled as line in!)
- Line in (only toggling mute possible) enables/disables built-in speakers
- IEC958 enables/disables optical IO on jack labled as headphones
- line in not yet worked out
cpufreq
See the MacBook cpufreq section.
infra red receiver
See the MacBook infra red receiver section.
iSight
See the MacBook iSight section.
Plan
Here's what needs to be done:
- Figure out how to use a free software graphics driver for the X Windows System.
- Figure out how to install ELILO.
- Figure out how to suspend and resume.
- Figure out how to use the remote control.