At work I inherited a nostalgic first generation MacBook Pro (date of birth: 2006) a while ago. At some point I decided to install some kind of Linux on the laptop, to have a nicer development environment for compiling the HaptiMap toolkit or building my own TinyOS firmware for use on the SHIMMER Platform.
To have the distribution mostly running out-of-the-box I decided to go for the most recent Ubuntu release (10.10, Codename: Maverick Meerkat). Unfortunately and already at the first boot the laptop started “whining”, which is a known problem for some kinds of laptops. After removing the harddrive, which was one part of the noises, the laptop keeps producing noises. Searching the internet I came across different C-modes of CPUs to save energy, which seem to cause a whining on older IBM ThinkPads as well.
Unfortunately, most tutorials and howtos are outdated as there have been some changes in the overall Ubuntu boot process. The solution that worked for me is to edit the /etc/default/grub file as follows:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash processor.max_cstate=2″
Namely, adding the additional statement processor.max_cstate=2 helps to avoid the CPU going to C-mode 4. Setting the processor.max_cstate to 3 doesn’t help, it must be 2.
After you’ve edited the file, don’t forget to update your grub:
Restart your laptop then and the whining should be gone, your laptop is happy again. ;)