GNU/Linux on the IBM ThinkPad X20

 photo of X20

This page contains notes on how I installed and configured GNU/Linux on a IBM ThinkPad X20 laptop computer.

Please be aware that messing with your laptop could conceivably result in physical damage, loss of data, or other undesirable things. Don't even think of suing me.

My ThinkPad X20 is a 2662-32U. It has a 600MHz Mobile Pentium III and 192MB RAM. The original IBM TravelStar hard drive died, and I replaced it with a Fujitsu MHT2020AT. The Mini-PCI slot contained a WinModem, which I replaced with a 10/100 Ethernet card.

Note: If you're buying a ThinkPad X-series on eBay, beware that sellers sometimes mistakenly advertise a unit as having both modem and Ethernet interfaces. All X-series laptops have both RJ11 and RJ14 connectors on the back, regardless of whether the Mini-PCI card has a modem, Ethernet NIC, both, or neither.

The lspci output for my X20 is:

0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
0000:00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
0000:00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
0000:00:08.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
0000:00:08.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
0000:00:0a.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 09)
0000:00:0b.0 Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64)

To this I added an 802.11b PC Card for wireless Internet. Specifically, I got a Senao NL-2511CD Plus, which is a 200mW Prism 2.5 card, although many different cards would surely work fine.

For a GNU/Linux distribution, I used Debian 3.1. At home, I've been a pure Debian shop for years. If I weren't already married to Debian, other distributions I'd consider are Fedora and maybe Gentoo.

Since I didn't have a CD-ROM drive that could be used with the X20, and I originally didn't have an Ethernet NIC for PXE network booting, I installed Debian by temporarily moving the X20's hard disk to another computer. I bought a "notebook IDE drive adapter" to plug the X20's hard disk into a desktop that had a CD-ROM drive, and used that to do the initial install of everything needed for a bootable system that could use PC Card network devices.

Currently, I use the Debian testing release. Recently, in order to get Firefox 1.5, I also added the unstable release to the X20's /etc/apt/sources.list:

deb     http://http.us.debian.org/debian/ testing  main contrib
deb-src http://http.us.debian.org/debian/ testing  main contrib

deb     http://http.us.debian.org/debian/ unstable main contrib
deb-src http://http.us.debian.org/debian/ unstable main contrib

I also had to make a /etc/apt/apt.conf file with the contents:

APT::Default-Release "testing";
APT::Cache-Limit "33554432";

I currently run a custom Linux 2.6.18 kernel. If you want to do the same, you'll need to install the linux-source-2.6.18 Debian package, among others.

I changed quite a few of the kernel options, as you can see in the .config file.

For 802.11b wireless networking with a Prism 2.5-based PC Card, I use the CONFIG_HOSTAP and CONFIG_HOSTAP_CS kernel options, and the hostap-utils Debian package.

Sound works fine, with CONFIG_SND_CS4281 and various ALSA drivers and userspace tools.

I currently run the Xorg X Window System server. Some noteworthy points of my /etc/X11/xorg.conf are that it uses the ati driver, it does not use the kernel framebuffer interface, the only resolution is 1024x768, and monitor frequencies are:

HorizSynx    31.5-48.5
VertRefresh  50-90

Atop the X server, I run my own Fwvm window manager setup, without any Gnome session management nor Gnome desktop tools. The X clients I run most often are Emacs, Firefox, Rxvt, and Gimp.

For other people's notes on Linux on the X20, see the IBM page of linux-on-laptops.com and ThinkWiki: Installing Debian on a ThinkPad X20.

© Copyright Neil Van Dyke      Contact