adam.nz aboutpostsprojectscontact

Installing Debian Linux 2.2 on an IBM Thinkpad T20 by Adam Shand

See also: Thinkpad 390

Specifications

  • Model: IBM Thinkpad T20 [2647-92u]
  • Screen: 14.1" TFT [1024x768]
  • CPU: Mobile Pentium-III SE 750 MHz
  • RAM: 128 MB
  • Disk: 20 GB Hard Drive
  • Peripherals: Swappable floppy and DVD-ROM Drive
  • IrDA: Supported (untested)
  • Sound: Crystal Audio Sound Fusion PCI
  • Video: S3 Savage IX8 8MB RAM
  • PCMCIA: Two Type 2 Cardbus Slots
  • Modem: Winmodem
  • Parts list: http://www-1.ibm.com/support/docview.wss?rs=0&uid=psg1MIGR-4UYKLK&loc=en_US

Installing Debian

This was pretty painless. I did one piece of pre-emptive configuring, which I learned when I installed GNU/Linux on my Thinkpad 390. I'm not actually sure if it's necessary with the T20, but I figured it wouldn't hurt to do it the safe way.

hda1        Boot        Primary   Win95 FAT32 (LBA)                10567.07
hda2                    Primary   Linux ext2                        3003.68
hda3                    Primary   Linux ext2                        6301.54
hda4                    Primary   Linux swap                         131.61

The important thing to note here is that the "boot" flag is on the windows partition. It turns out that the way the power saving features work with the 390 requires that the boot flag is set on the partition which contains the "save to disk" file, this is a BIOS requirement, so there's not much you can do about it. Here is how I setup my /etc/lilo.conf for my 390.

My disk came with a single large FAT32 partition on it, so I used a copy of Partition Magic I had lying around to resize. If you're looking for something free that you can download to check out, you might want to investigate nParted or Diskdrake. I haven't used either of them directly, but I've seen Diskdrake work from a Mandrake CD and nParted from a Progeny CD (I think Progeny uses nParted anyway) and both seemed to do the job pretty well.

Setting up XFree86

There is a XFree86 4.0.x driver which I haven't tried yet, but hopefully I will soon. The driver is also slated to be included in X v4.0.2. Currently I am still using a hacked version of the XFree 3.3.6 SVGA driver which works pretty well, though the refresh rate seems kinda slow.

I had a hard time finding an XF86Config file that worked the way I wanted, so I've made mine available, it doesn't require a font server.

Internal Ethernet

My first T20 had a 3com 3c556b internal Mini-PCI ethernet and winmodem card.  This variation was only supported as of the 2.2.18 kernel 2.2.18 (I'm not sure if it's supported in the 2.4 kernels). I had an additional problem which caused the eth0 interface to die permanently after a suspend/resume cycle. Not all T20's suffer from this, but if needed the solution is documented on the vortex mailing list.

My current T20 has an Intel EtherExpress Pro Mini-PCI card which works out of the box, even with older kernels.  Apparently IBM ships both cards with their laptops, and it's luck of the draw which one you get.

PCMCIA Support

Once I got the internal ethernet working, I've had little need for PCMCIA. I did have a Cisco 340 Aironet card at my last job and an WaveLan/Orinoco card at home, both of which work just fine out of the box. The 340's are a pretty nice 802.11b cards, they'll supposedly work up to 11 Mb/s. There was basically nothing to it, just make sure you have a recent version of the PCMCIA modules (the latest from woody works). The WaveLan/Orinoco cards have been supported under Linux forever.

While you're checking out wireless gear, check out Personal Telco's list of wireless communities for one near to you, and join up with one!

Sound

I got sound working with little hassle using the OSS/free drivers in the standard 2.2.17 kernel. Just run modconf, load the module ac97_codec and then cs46xx and it should work just fine. Even the mute and volume up/down buttons work just fine. With the ethernet and sound modules loaded and working, this is what I get from an lsmod. I just found that apparently there is a thinkpad=1 option to the cs46xx module which will make the APM stuff work correctly (so you don't have to unload/load the module after a suspend/resume cycle ... this may be a Redhat specific feature, I haven't dug into it yet).

Module                  Size  Used by
serial                 19532   0 (autoclean)
parport_probe           3332   0 (autoclean) (unused)
parport                 7280   0 (autoclean) [parport_probe]
nls_cp437               3904   2 (autoclean)
vfat                    9008   1 (autoclean)
3c59x                  19552   1
cs46xx                 70380   0
soundcore               2628   2 [cs46xx]
ac97_codec              7140   0 [cs46xx]
unix                   10180  46 (autoclean)

Before I succeeded in doing this, I got sound working with the Debian Alsa packages (from woody) but had problems with sound being flaky after suspending. If you want to use Alsa running alsaconf and installing the cs46xx driver should work just fine. Next, I tried the commercial OSS drivers from 4Front Technologies. They worked, but would cause a complete system lock up (have to hold down the power button until it turns the power off) as soon as I stopped playing an MP3.

Links and Thanks

  • There are certain pages and software that I've found in the process of making this all work which have been very helpful, or look like they will be helpful soon.
  • Thanks to Andrew Morton and the Vortex mailing list for the patch which got my 3c556b card to work properly.
  • A huge vote of thanks to Kenneth Harker for putting the Linux Laptop page together. Without this resource, getting Linux to work this nicely would have really sucked.
  • Thanks to David Hinds for writing the PCMCIA support for GNU/Linux and maintaining the GNU/Linux PCMCIA information page. There is also the PCMCIA Howto which helps explain some of the issues involved.
  • There is a GNU/Linux version of the phdisk utility which creates the save to disk partitions that many Thinkpads require.
  • I just found out about the Ultraport connector on the top of the T20's monitor, which will take a digital camera. There is some useful information about the different versions, and supposedly there is GNU/Linux support being developed as well.
  • Being a Window Maker fan there are some great doc apps out there. My favourites are wmclock (the standard next type date/time app), wmapm (monitors battery utilisation, whether your plugged in or on battery), wmsysmon (monitors memory, swap, i/o, uptime, interrupt usage and page/swap in/out), wmix (a kick ass mixer), wmwave (monitors Wavelan/Lucent/Orinoco signal strength meter) and wmnetselect (a great dock app interface to Netscape/Mozilla).
  • At Michael Reinsch's T20 page I saw these words on the Thinkpad Ultrabay ...
    Hot swapping does not work. But you can change the drive while the notebook is suspended (either to RAM or disk). This works OK for me when changing from CD/DVD to floppy. Klaus Espenlaub told me, that swapping works better with some devices (i.e. ZIP drives) if one uses hdparm -U first to un-register and after swapping hdparm -R to re-register the IDE interface. Please read the hdparm manpage before playing around with it! This stuff can be dangerous!
  • The page for my Thinkpad 390 which has a slightly different collection of information on it.
  • And of course a final thanks to all the contributors of Debian, GNU and Linux in general!

Loading comments...

Copyheart 1994–2025 Adam Shand. Sharing is an act of love.