Linux on the IBM Thinkpad 570

pic of TP570 Here is how I got Linux (RedHat 6.1) running on a IBM Thinkpad 570. The model I have is the 2644-3AU, but the various models only appear to differ in processor speeds, disk sizes and so on, so the actual model shouldn't make much difference. I also have the UltraBase and CD drive, but didn't actually use it during the install.

I gleaned much useful information from the Linux on Laptops page, in particular the other Thinkpad pages.

The following describes what I did: I was successful, but I guarantee nothing, and accept no liability for lost data, damaged hardware or any other untoward happening in your life.

Backup

You did backup anything you want to keep, didn't you?

Make a RH boot floppy?

You can set the BIOS to boot directly from the CD so you don't need to do this. (Get to the BIOS by pressing F1 during the initial boot screen.) I booted over the 'net, using the pcmcia floppy and a Linksys EtherFast 10/100 PC Card. This is the most convenient way if you don't have the UltraBase or a CD drive (or a CD).

Squeezing Windows

The Thinkpad comes with two partitions: a 2G one with Windows on it, and a 4G one for the user. I took the easy path and decided this was the distribution of disk space I wanted to keep. Alternatively, you could shrink the Windows partition using FIPS, or even delete Windows completely. Be aware that you need a DOS partition if you want hibernation to work.

Do the Install

Reboot using a RH floppy, or direct from the CD or 'net. I made new partitions

Video

The NeoMagic video card and LCD monitor is detected correctly, and I chose a 16 bit depth. I hear that 24 bit works, too, but is much slower.

This should reboot to a working system.

Audio

The Cirrus Logic CS461x is not yet supported by the standard OSS drivers, but it is included in the ALSA drivers.

Get the ALSA driver, library, and utils, ./configure, make and make install, and it should work. If you get no sound out when you play something, start aumix and turn up the volume.

The sound driver doesn't like APM suspend/restore, see below.

Addendum. Later versions of the 2.2 series kernel now support this soundcard (Crystal SoundFusion (CS461x)). Compile as a module, as it still doesn't like APM.

Bits and Pieces

Install the RH errata. Add users, install ssh1, ssh2, xv, realplayer, etc.

As I installed an extra 64M of memory, I needed to edit /etc/lilo.conf to include append="mem=130496K" as the BIOS reserves a chunk of memory at the top end for itself, and we need to inform Linux of this. If you don't do this, things may seem to work for a while, but then weirdness will happen! Actually the BIOS reports 130560K is usable, but the above is the number everybody recommends.

I also put vga=791 in lilo.conf which gives me a nicer looking console than the standard one.

Advanced Power Management

Everyone recommends that you recompile the kernel to get power management working properly. Doing so seems a good idea.

Hit Fn-F4 get suspend (save to memory). Judging by the drop in percentage of power reported by APM, you might be able to leave the machine in this state for a week, but I've not tried that. On occasion, rather than suspending, the machine goes into standby (screen and disk off, just like hitting Fn-F3). I don't know what causes this, but just trying again seems to work.

The hibernate (suspend to disk) Fn-F12 also works. Hibernate will not start if the AC power is on, or the hibernate file in the Windows partition is too small. Use the ThinkPad Configuration Program under Windows (Power Management) to resize the hibernation file if necessary. The version of APM in RedHat 6.1 allow you to specify a script to be run before and after a suspend. I use this to save the volume levels (aumix -f /etc/.aumixrc -S) and remove the sound driver (modprobe -r snd-card-cs461x) before, and to reinstall the driver (modprobe snd-card-cs461x) and restore the volume (aumix -f /etc/.aumixrc -L > /dev/null) after.

Modem

It's a Lucent winmodem. Lucent have released a binary-only driver under "Vendor Linmodems". You can edit the binary to make ther kernel versions match, or load the module using insmod -f ltmodem.

It seems to work well, though it does cause the machine to freeze for maybe a second when you connect or disconnect. Just be patient, and your machine will be restored back to you!

The modem takes 0.5M of kernel memory: surely this can't be a good design?

There is work on open source drivers.

BIOS

The tpctl program (analogous to ps2.exe under DOS) is a convenient way of accessing the BIOS without having to reboot. After chatting with the author of tpctl we have fixed some of the more egregious error messages.

UltraBase

The CD player is fine, and the stereo speakers in it are much better than the somewhat tinny speaker in the laptop.

The tpctl page includes a program named ubswap that might allow warm swapping (swapping when suspended) of the UltraBase. Another thing I've not tried.

PCMCIA

The RH distribution contains the PCMCIA stuff, and it works. To set up a network card, edit the IP numbers into
/etc/sysconfig/network-scripts/ifcfg-eth0

The picture at the top of the page was taken using a Canon S10, loaded using a Compact Flash card adapter in the PCMCIA slot (see the section on PCMCIA ATA/IDE card drives in /usr/doc/HOWTO/PCMCIA-HOWTO), and edited with the gimp.

General Impressions of the 570

This is an excellent machine, both light and powerful, with a very good keyboard.

Everything seems to work reasonably well, though it's a bit more bothersome to get it all set up than it should be (e.g., recompile kernel for APM, ALSA sound, etc.) Battery life is much as advertised, though the battery meter (asapm or equivalent) can be a little erratic in the amount of time it thinks is left.

IBM claim they will be supporting Linux on all their machines, including the Thinkpads, so maybe one day ...

Russell Bradford, December 1999/January 2000.