This page contains information I needed to dig from the Internet to get an
old IBM Thinkpad 760C to work with Linux. I also go through the experiences
and problems I ran into when trying to get the thing to work.
IBM Thinkpad 760C has a 12.1″ LCD display, 2.1GB hard drive trackpoint
mouse, floppy drive, serial and parallel ports, level 2 PCMCIA slot and a
docking station connection. No CD drive. I had no docking station either nor
a PCMCIA network adapter, so getting Linux into the machine wasn’t too easy.
Using PLIP for networking
What I did have was an intranet firewall/server with a free parallel port
and a LapLink cable. So I decided to create a network using the parallel
ports. First of all trying to get the PLIP connection to work was a task in
its own right. Check out my article on configuring PLIP for more information.
Selecting the distribution
First I tried to install SuSE Linux 7.2, since I had had success installing
SuSE on my desktop machine over the network. So I fetched the installation
floppy images, wrote them on floppies and started out. When specifying a
network installation, you need to load the correct driver modules into
memory. The SuSE PLIP module loaded without problems once I specified the
correct I/O and IRQ values to it.
The problem, however, was that the installation started thrashing when it
started to check through the list of installable packages. I let it run for
a day or so, then gave up on it. The installation program had only got
something like 10 minutes of processor time in 24 hours, the rest was used
mainly in swapping. My laptop was boosted to 40 MB of RAM, but the 16 MB
ramdrive and the SuSE installation program (which is huge) apparently needed
OK, so SuSE didn’t work. Then I downloaded Debian installation floppy images
and wrote them on top of the SuSE floppies. This worked better. Selecting
the PLIP interface was a breeze and the installation proceeded quite nicely.
I have to admit that the Debian installation is significantly smarter than
SuSE’s installation. While SuSE might do a better job of identifying all the
hardware and configuring them (Debian requires a bit more manual work), the
installation itself is more graceful. For example, Debian first installs
just the basic system (downloadable size around 12MB) after which you have a
running Linux and in one virtual console you’re installing other packages as
For anyone migrating from any RedHat based distribution to Debian, I
recommend a tutorial
which explains the installation in sufficient detail.
Thinkpad 760C special issues: APM
Basic Debian installation isn’t a problem, but getting it to work with a
thinkpad requires some extra work. For a start, you need to get a suitable
kernel. The best way is to get the latest Debian patched sources with
“dselect” and make your own kernel. Make sure you’ve also installed ncurses
with “dselect” so you can use “make menuconfig”.
Activate APM features. Without these your thinkpad can suspend itself, but
if Linux cannot handle this, you will get kernel panic.
After you’ve changed to your optimal kernel, it’s time to install the
Thinkpad control utilities, which do the same that PS2.EXE does for DOS and
the Thinkpad tools do for Windows. The Linux version goes by the name tpctl.
With Debian you can just get them as normal deb-packages. More information
is at the tpctl site. The
utilities consist of two parts – the programs that are simple to install,
and the modules, which have to be compiled. So to compile the modules you’ll
need at least the kernel header files, but having the entire kernel isn’t a
tpctl is packaged for Debian. RedHat users will have to work with a tarball.
The modules however are always in source code format. In Debian you install
the package, which provides a tpctl.tar.gz file in /usr/src/. Change to
/usr/src/linux and execute “tar xzvf ../tpctl.tar.gz” to unpack the tarball.
The files should drop into a modules-subdirectory under /usr/src/linux. Now
run “make-kpgp modules” to make the modules and package them into a
deb-file. This file will appear in /usr/src. Then install the package with
“dpkg -i debfilename”. After this you can install and configure the tpctl
package. After it’s finished, you’re done.
Now you have the command tpctl, which you can use to control the power
saving features of the BIOS. Remember, though, that tpctl does not save any
changes to BIOS, so you’ll need to rerun them if you power off the machine.
You can of course setup the necessary configuration commands to be executed
In order to get hibernation to work, you’ll need to create the hibernation
file where the memory contents are to be stored. If you’ve created a double
boot with Windows or DOS, then you’re ok. In my case I did not need Windows
for anything, but for the hibernation you need to have a FAT partition.
Boring… Well, I had some slack in my partition table, so I created a FAT
partition (non-bootable) and used a DOS boot floppy to access it. I
downloaded the PS2 utility from IBM’s site and installed it to the FAT
partition. Then I set up the hibernation file using PS2. And that’s the last
time I needed to use DOS. You can optimize and create the FAT partition so
that it can just contain the hibernation file (size equals your RAM size)
plus a few megabytes for the PS2 utility.
Thinkpad 760C special issues: X
Getting X to work isn’t straightforward. I’ve heard you can get resolutions
up to 1024×768, but I’ve been content to work with 800×600. Check out my
working XF86Config file if you want to. Basically you can use 640×480 and
800×600 without any major hassle. You just need to specify the monitor’s
horizontal sync rate (31.5-37.9) and vertical refresh rate (50-90) and the
screen modes in the file are automatically filtered to contain only those
that the monitor can handle.
Notice that I use a finnish keyboard layout, so you’ll need to at least
change the layout statement to match your own keyboard. Another issue is the
trackpoint. I use gpm to get mouse functionality in the virtual terminals
and only occasionally use X. This is the contents of my /etc/gpm.conf:
device=/dev/psaux responsiveness= repeat_type=ms3 type=ps2 append=""
The trackpoint uses the PS/2 protocol, which has to be given to GPM. The
device file turned out to be /dev/psaux at least in my configuration. When
using X, you can shutdown the gpm daemon and use the same settings in
XF86Config, or you can setup gpm to “repeat” the events. I tried to repeat
them using the same protocol (ps2) but that failed for some reason. Using
Microsoft mouse protocol (version 3) worked quite nicely. So specifying
repeat_type=ms3 then requires that in XF86Config the Pointer section’s
Protocol is “Microsoft”.
GPM sends its repeat data to /dev/gpmdata. You can either specify that in
XF86Config’s Pointer section’s Device statement, or you can use something
like /dev/mouse and then symlink it to /dev/gpmdata, which is probably the
Remember that if you’ve stretched the text mode to a full screen (with
Fn-F8), starting X will give you a blank screen. Pressing Fn-F8 to switch to
unstreched mode will show the graphical screen normally.