
This page has some notes on installing Debian GNU/Linux on an old IBM ThinkPad 560E laptop computer. Some of the information here is also relevant to the 560, 560X, and 560Z. This page was first written Apr-2001, and last updated 25-May-2003.
CYA Notice: Like all worthwhile activities, messing around with laptop computers is not without risks. You could destroy your display by misconfiguring for the video chipset. You could accidentally corrupt your flash BIOS. You could encounter your potential soulmate in a cafe but then alienate him or her at a crucial flirtation stage by evangelizing Linux to an unhealthy degree. This page is provided without warranty.
After some bargain-hunting in late Mar-2001, I picked up an IBM ThinkPad 560E (model 2640-40U) in great condition on Ebay. It came with a 166MHz Pentium MMX, 12.1" 800x600 TFT, 48MB RAM, 2GB disk, and an external floppy drive. In Jan-2003, these are selling on Ebay for about $100.
If you're shopping for a 560E, be aware that some seem to have DSTN LCD, which is grossly inferior to TFT, and should be banned by international treaty.
The PCMCIA slots support Type I, II, and III cards, but not CardBus. I currently use a Xircom RE-10 for Ethernet at home, and a Linksys WPC11 for 802.11b when away from home. Other cards, including a 3Com 3C589D-TP and a Megahertz XJ4288, have also worked great with the 560E and Linux.
I don't update firmware on a whim, but if you need to, see IBM ThinkPad 560E BIOS Update.
I originally did a network install of Debian GNU/Linux 2.2, and have
since upgraded to Debian unstable. The Debian installation instructions are more intimidating than they need to be for the 560E. If you're
somewhat familiar with GNU/Linux, you may be able to just make boot floppies
and play it by ear.
To get into the "Easy-Setup" BIOS setup of the 560E to verify that it will boot from the floppy drive, power on the machine while holding down the F1 key. Under "Start up," verify that "FDD 1" is the first device (i.e., is in the upper-left rectangle that you can point at with the little bird mouse pointer) and "HD" is the second.
When the Debian installer asks for the PCMCIA controller, I said
i82365.
The Debian instructions suggest that you may want to add
floppy=thinkpad as a kernel parameter when booting from the rescue
disk. Adding this parameter prevented the floppy drive on my 560E from
working; booting without the parameter did work.
I partitioned the disk like:
Name Flags Part Type FS Type Size (MB) ------------------------------------------------- hda1 Boot Primary Linux ext2 6.20 hda5 Logical Linux swap 128.00 hda6 NC Logical Linux ext2 1979.75
The 560E lies to Linux about how much memory it has, so I added a
kernel parameter to /etc/lilo.conf:
append="mem=48m"
The 560E can be upgraded to 80MB by investing US $10-$30 in a 64MB module on Ebay. Even with 80MB, you really want to trim some VM usage fat to keep yourself out of battery-killing swap.
To conserve VM (and eliminate some potential security
vulnerabilities), I uninstalled XDM, GDM, and various servers. The only
externally-accessible server I normally run is OpenSSH. Apache is installed
for occasional experimentation, but I removed the startup links
/etc/rc?.d/S*apache*.
My login shell execs xinit directly. Instead of running
the Gnome desktop, I run a tweaked version of the sensible window manager Fvwm, which still permits me to run applications like Gimp and Mozilla
Firebird.
To keep sysklogd from spinning up the disk every 20
minutes to write a mark to the logs, I put SYSLOGD="-m 0" into
/etc/init.d/sysklogd. As someone (I forget who) suggested, I
added noatime option to the root filesystem's mount line in
/etc/fstab.
I currently run XFree86 4.2.1, but with XFree86 3.3.6 for the actual X
server, since the 4.x server currently makes the LCD go all wacky. Doing
apt-get install xserver-svga will get you most of the way there.
I tweaked an XF86Config that was originally created by Yoshishiro Satou and then modified by
a JB. Incidentally, /proc/pci says the video controller is
Trident TG 9660 / Cyber9385 (rev 211).
To get software OpenGL support with the 3.x server (the
-dev packages are in case you want to do 3D development on a 560E,
hah!):
apt-get install mesag3 mesag-dev glutg3 glutg3-dev
I uninstalled GPM, but if you really must use it, make sure that
/etc/gpm.conf doesn't have a value for repeat_type,
or your TrackPoint won't work properly under X.
I currently run a custom-built Linux 2.2.20 kernel, to get all the
features I want and none of the features I don't want. See the Debian GNU/Linux FAQ chapter on kernels for the special Debian way of building and installing custom kernels
and modules. For the 560E, in addition to the normal
kernel-source package, you'll also need the
pcmcia-source package. After you've run the make-kpkg -rev
somerev kernel_image command as instructed by the FAQ, you'll
also need to run the make-kpkg -rev somerev
modules_image command. Then you'll dpkg -i both the
new kernel-image and pcmcia-modules package files.
I found that the CONFIG_APM_ALLOW_INTS feature of the
kernel must be enabled for my 560E, or standby/suspend would cause
lockups. My 560E will go into suspend mode the second time it hits an idle
timeout when on battery power, and then I have to press the lid-shut switch for
a few seconds.
The sound chipset is ESS1688, which is the standard OSS Soundblaster
driver (sb.o) handles fine with the default settings. Sound
stops working after a suspend, but that's probably an easy fix. I rarely use
sound at all, so on the rare occasion it's locked up, I do rmmod sb ;
modprobe sb.
Building the kernel tree, not counting any separate module packages, takes a bit over 15 minutes real time on my 560E.
You might want to build the tpctl kernel modules for configuring various firmware options of your 560E,
though the version I tried wasn't working, and the current settings were OK, so
I removed it.
Some additional sources of info:
© Copyright Neil Van Dyke Contact