Installing Ubuntu 6.06 Flight 6 on a ThinkPad X60s
Installation of Ubuntu 6.06 Flight 6 on X60s (model 1705-24U)
Summary
What works out of the box
- Network adapter (Intel PRO/1000)
- Graphics adapter and accelerator (Intel GMA 950)
- USB (boots from external USB CD-RW/DVD-ROM)
- Firewire
- Lid switch (LCD off when lid closed)
- Volume control, keyboard light and screen brightness control
- Hard disk laptop-mode (/proc/sys/vm/laptop-mode)
- LCD brightness auto-adjusts depending on AC or battery operation
- Fn buttons generate ACPI events (/var/log/acpid)
What needs to be fixed
- Dual core processor
- Wireless
- Processor frequency scaling
- Suspend to RAM
- Suspend to disk
- SD card reader
- Sound
Installing Ubuntu 6.06 Flight 6
IBM Rescue and Recovery disks (seven CDs) can be created using preinstalled Windows: All programs > ThinkVantage > Create Recovery Media. However, as long as recovery partition (called predesktop in BIOS) is left intact, system can be restored to factory default without having recovery CDs.
Ubuntu Flight 6 installer boots normally using external (USB) IBM DVD-ROM/CD-RW. SATA disk is recognised, Xorg 7.0, gdm and Gnome start normally. Xorg is configured with i810. DRI works (glxinfo|grep rendering). Networking works, eth0 uses e1000. ALSA sound worked after original installation, but at some point it stopped working as Dapper instantly had numerous updates, including kernel.
Fixes after installation
SMP kernel
Flight 6 installs -386 kernel without SMP support. apt-get install of -686-smp fixes that. /proc/cpuinfo reports CPU0 and CPU1 present.
Wi-Fi
Intel 3945ABG wireless driver is available from http://ipw3945.sourceforge.net/. Wireless works after following QUICK INSTALL STEPS in provided INSTALL file. Automating driver loading works as described too, except that /etc/modprobe.d/ipw3945 has to be used instead of the proposed /etc/modules.d/ipw3945.
CPU frequency scaling
After install CPU0 switches between 1.5 GHz (full speed) and 1 GHz depending on load, but CPU1 stays at full speed. Flight 6 installs powernowd and uses userspace governor. Changing to ondemand governor (/sysfs/devices/cpu/cpu0,1/cpufreq/scaling_governor) and thus using kernel part for frequency scaling (modules speedstep_centrino and freq_table) fixes this. apt-get install sysfsutils and add the following lines to /etc/sysfs.conf:
devices/cpu/cpu0/cpufreq/scaling_governor=ondemand devices/cpu/cpu1/cpufreq/scaling_governor=ondemand
High pitch noise while on battery
X60s CPU produces the infamous high pitch noise when in lower-power ACPI states (a.k.a. C-states). To eliminate the noise max. state had to be limited to C2. In /etc/sysfs.conf:
module/processor/parameters/max_cstate=2
Unsolved
- Suspend to RAM (suspends, but crashes on resume)
- Suspend to disk (suspends, but crashes on resume)
- Sound
- SD card reader (driver in Linux kernel >=2.6.17)
Not tested
- PCMCIA slots
- Embeded Security Subsystem (TCPA)
- Active Protection System (HDAPS)
- Modem