I partitioned the disk of my MacBook Pro into three parts (one for OS-X, one for Linux and one as swap space) since I gave up booting Ubuntu from a USB drive.
Got it kind of working, but had the choice of booting Ubuntu from the USB or WinXP from the internal drive - since I couldn't have both and really wanted a "native" Ubuntu boot, I removed WinXP from the system (I can run WinXP from a virtual machine inside Ubuntu if I want to).
After the succesfull install I started to get a problem with seemingly randomly freezes of the Mac - bummer, it took me a day or two to figure out that it was because the machine was overheating. Yes, it was warm, but it has always been warm - guess it just got a little warmer :)
So how to fix it? I made a small app that monitors the temperature of the system and then increases the MinFanSpeed if it gets warmer - and decreses it again if it gets colder.
This is more safe than directly controlling the fan speed, as the worst that can happen if my program crashes is that the fan speed is set too high.
Temp ↑65.5°C MinFanSpeed 5200 LFanSpeed 5191(5200) RFanSpeed 5191(5200)
The output from the program above tells me that the current max temp that is meassured from any of the temp sensors inside the MacBook is 65.5°C and going up - the min fanspeed is set to 5200 RPM and the actuall speed of the left and right fan is 5191 RPM, and has a set target of 5200.
The program takes measurements every second and increases the fan speed if the temp is > 65.5°C and going up, and decreases the fan speed if the temperature is < 65.0°C and going down. A simple program and the best is that my machine haven't had a freeze since I started to use the program :)