Debian AMD64 on the Core2 Duo 15″ MacBook Pro
So I’ve got my shiny new laptop which should complement my 5 years old PowerBook G4 500 MHz and had a bit of fun installing Debian AMD64 on it. I did it the hard way, not using debian-installer as it was a given for me that both the kernel and debian-installer itself were unable to deal with the machine.
Installation method:
- debootstrap an amd64 system and an i386 system on a FireWire disk
- build a suitable x86_64 kernel for the MacBook Pro, handpicking patches from mactel-linux
- reinstall a fresh and stripped down Mac OS X system on a smaller partition
- boot on the mactel-linux live CD
- partition using parted
- sync GPT and MBR with gptsync
- mkfs, mkswap
- transfer the amd64 system using xfsdump/xfsrestore
- chroot into the i386 system, edit lilo.conf, run lilo
- reboot, hold down the option key, choose the infamous “Windows” icon
- ENJOY
Note that you do not need to install BootCamp on Mac OS X. On the Core2 Duo machines, the firmware already includes the SMBIOS stuff, so you’d only install a useless Mac OS X GUI which you can’t use because you’ve repartitioned before running BootCamp Assistant :-)
Current status: most of what should work with Linux sort of works (that is, to say, everything but the WiFi).
Things that do not work:
- external VGA monitor: a DVI-D monitor works fine, looks like fglrx does not enable the DVI-I output on the DVI connector (it even reads the EDID data from the VGA monitor). If you know someone at ATI, please point them to this post. My bug report to ATI has been discarded with this comment: “we do not supply drivers for laptops, it’s up to the manufacturer” (roughly). Yeah, right. Not buying ATI anymore if this doesn’t get fixed.
- WiFi: new Atheros5008 a/b/g/pre-n chip, unsupported by madwifi and future support is uncertain at best as of now. Happy. NOT. (madwifi ticket #1001)
- sound: sort of works with Linux 2.6.18, sound works on both headphones and speakers. Broken in 2.6.19. (ALSA issue #2198)
- no keyboard in LILO: strange, but the keyboard doesn’t work at boot time in LILO when run through rEFIt, though it does sometime work when run directly from the Apple chooser. lilo -R to the rescue, but this is painful. Maybe GRUB would work better.
- applesmc: has issues, the SMC times out frequently. Works nonetheless, and it does not happen when first booted into OS X. Probably an initialisation issue.
- trackpad: doesn’t work as good as in Mac OS X, some synaptics config tuning should fix that
- battery life sucks: power consumption is a steady 26 W for a 55 Wh battery, even with both cores running at 1 GHz instead of 2.33 GHz. Power consumption doesn’t vary depending on the CPU frequency. Bug ?
Everything else works, and works fine. Wrote a small daemon to handle the special keys for LCD backlight, sound, keyboard backlight and CD ejection. Still needs a bit of polishing, after what I’ll release and package it.
rEFIt isn’t available in Debian AMD64 yet, so gptsync isn’t available and must be run from an i386 system for the time being (plus gptsync is buggy on 64bit architectures). Patches ready, waiting for GNU-EFI on amd64 (#383801).
Suspend to RAM and suspend to disk both work, use s2ram -f -p -m until the machine makes it into the built-in whitelist.
The machine is pretty nice, though I’d appreciate it if the fans weren’t running at 5500 rpm when I have the laptop on my laps. Might be related to both the applesmc and power consumption issues.
WiFi remains the biggest issue, battery life comes second ex-aequo with DVI-I output and sound is third.
I’m quite unhappy with having to taint my kernel by using the fglrx (and madwifi in the future) proprietary crap, and even more when it doesn’t work as good as it should. Maybe RMS was right about ATI.