Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40
Contents
Executive summary
Ubuntu Linux 7.04 -and probably any modern distro- "just works" out-of-the-box on this machine.
No manual configuration was required, and even network, wifi, xorg and suspend-to-ram were properly configured and functionals at the end of the default Ubuntu installation, all with opensource drivers only. I've no problem with fan noises either.
But there's still some room for fine tuning:
- To improve energy efficiency and battery life
- To access some special features (like some thinkpad special keys)
- To better use resources (memory, CPU, power, ...)
The machine
This an "all Intel" machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I choosed this one (beside the 1.2 Kg ultraportable form factor).
- IBM Thinkpad X40 (model 2371Y29), Centrino platform
- 1 Go DDR SDRAM (333MHz PC2700)
- CPU: Intel Pentium M (Dothan) 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 - no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)
- Southbridge chipset ICH4-M (Intel 82801DBM) : PCI, USB, IDE
- Intel gigabit ethernet controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)
- Wifi controller: Intel PRO/Wireless 2200BG Mini-PCI Adapter
- Northbridge / Graphic chipset : Intel Extreme Graphics 2 : Intel 855GME
- 12" screen, @1024x768 nominal resolution
- Hard Drive : 1.8" - 40 Go - 4200 RPM - Hitachi DK13FA-40B
- ATA controler : Intel 82801DBM Ultra ATA storage controller 24CA
- Audio controller: AD1981B AC'97 (linux kernel module: i810_audio)
- Weigth / size: 1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm
- UltraBase X4 with broken DVDROM
- Batteries :
- default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00
- new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30
- BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31
- IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)
- FW model : TP-1U
Installation
The X40 doesn't have builtin CDROM or floppy drive. I own an IBM UltraBase X4 dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from this web page : this was unexpectedly simple and worked flawlessly. Everything got installed from network, "over the air".
I kept the 4Go IBM recovery partition at the end of the drive, by superstition ;) and for Rescue and Recovery.
Small Ubuntu 7.04 glitches
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better:
- Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome "logout" screen hides the s2ram option. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an "echo mem > /sys/power/state").
- Ubuntu installs the "special keys" handler from the "hotkey-setup" package. This is suboptimal, since hotkey-setup supports less special keys than tpb, and consumes a lot of battery (see for instance this bug report).
- More generally, the whole Ubuntu system needs work to become efficient on laptop: switch to a 2.6.21 or more kernel, use in kernel "ondemand" governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.
Not tested yet
- TCPA chipset: Trusted Computing controller. Should be supported by tpm and tpmdd but who need this, really ?
- HDAPS (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's know to suck power
- IrDA (Infrared controller) : is know to work too, and looks supported by my kernel, but I've no other IrDA device to test with
- SD Card slot : I've no SD cards to test this