Linux on the ThinkPad 390E
Wake Forest University has a special relationship with IBM, dating back to
the inception of the Plan for the Class of 2000. Faculty and students are
issued with new IBM ThinkPads on a staggered two-year rotation. The
model I had from 1999 till 2001 was the ThinkPad 390E.
Linux installation |
Network card |
Serial port |
The WFU-issue ThinkPad 390E came with
It is easy to install Linux using free tools, without damaging the
MS Windows98 system that is pre-installed. One procedure that
- Intel Mobile Pentium II processor, 333MHz
- 128MB RAM
- 6194MB IDE hard drive
- NeoMagic NM 2200 video chipset with 2560k video RAM
- 14.1" TFT display
- IBM 10/100 EtherJet Cardbus Adapter
- Lucent PCI "Win Modem"
- Ensoniq ESS Solo-1 16-bit audio
- 24X CDROM
- USB support
- In win98, disable virtual memory (under Start, Settings, Control
Panel, System, Performance). Reboot Windows.
- Run scandisk then degfrag (both under Start, Programs,...)
Be prepared for a long wait for defrag to reorganize the large
hard disk (about 1.5 hours in my case).
- Use fips to
resize the win98 partition and make room for linux. You need to make a
Windows boot diskette and put the fips files on it -- see the fips
documentation. See below for one partitioning suggestion.
- Install your favorite Linux in the usual way.
- Reboot win98, run scandisk again, re-enable virtual memory.
- Reboot Linux and forget about win98 ;^)
My disk partitions:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 303 2433816 b Win95 FAT32
/dev/hda2 304 320 136552+ 82 Linux swap
/dev/hda3 * 321 789 3767242+ 83 Linux
The ThinkPad's hard drive, CDROM and floppy are all recognized by
Linux no problem. You will probably want to enter BIOS setup (F1 on
booting) and move the parallel port from the "dumb" location of
0x3BC to 0x378, particularly if you want to use a parallel-port
For more step-by-step details on (Red Hat) Linux installation for the
ThinkPad, see David
XFree86 version 126.96.36.199 or higher (SVGA server) supports the NeoMagic NM2200
chipset, and can drive the TFT display at 1024x768 resolution,
with a color depth of 24 bits per pixel.
Some X clients (e.g. netscape) don't behave very nicely with 24-bit color
depth. If black-and-white pixmaps in netscape bother you, then run the
display at 16bpp instead. It's faster that way too -- part of the
available video RAM seems to be used for acceleration.
A nice tip from Craig
Kulesa: You don't have to ask for 3-button emulation in
the mouse section of XF86Config. Under X, the "extra" big button
for the TrackPoint works as a middle button!
Here's my XF86Config (for XFree version
The 10/100 Cardbus Adapter is now supported by David Hinds' pcmcia
package for Linux (version 3.0.14 or higher).
At first I reckoned this was a piece of pure deadweight, but now -- saints
be praised! -- it works fine under Linux. I'm not sure who at Lucent we
have to thank, but a binary-only driver has filtered its way out: linux568.zip (you'll
probably want to check that this is really the latest version available,
The driver was compiled for Linux 2.2.12-20 (some RedHat invention?). I
find that it works OK with kernel 2.2.13, although you have to insert the
module with "insmod -f ltmodem" (i.e. the force option) to get around the
mismatch [details]. I have also tried it with
linux 2.2.16 and it didn't work; in fact it crashed the system.
Christoph Hebeisen has a workaround for using the
ltmodem module with newer kernels. You may want to give it a try, but
don't ask me about it! I keep a copy of 2.2.13 on hand for the relatively
rare occasions when I want to use the modem.
NEW: Try this
page for info and sources for compiling the LT modem module for later
kernels. Looks good, though I haven't actually tried it out yet.
The ESS audio is based on the es1938 chipset. "Experimental" support for this
is provided with 2.2.12 and higher Linux kernels. Fuller support is offered by the
Advanced Linux Sound Architecture (ALSA) drivers and the commercial Opensound system. You can find some
details on my sound setup here.
In the BIOS setup I ensured that the serial port was enabled, and set
at ioport 0x02f8, irq 3. Find it under Linux at
/dev/ttyS1. I can use my Epson PhotoPC 550 just fine,
with GNU gphoto to talk to the
Advanced Power Management, that is. I haven't done very much with this
since my ThinkPad spends almost all its time connected to AC. I did
enable APM support in the Linux kernel build. Craig Kulesa offers details on
I've found that asapm is a nice little
battery-monitor doodad. One other tip: If you run a 2.2 series Linux
kernel you may be wondering what happened to the "power off on shutdown"
that worked just fine with late 2.0 kernels. That functionality has been
hived off. You need to enable poweroff on shutdown in the kernel
configuration, but you also have to activate it in your shutdown
script. On my system, this involved editing /etc/rc.d/rc.6,
looking for the line command=halt and substituting
command="halt -p". (This requires a fairly recent
I'm aware of two other sites devoted specifically to Linux on
the ThinkPad 390E. They both have very useful information which
may sometimes be more up to date than what I have here.
In addition, IBM now has a
set of pages devoted to Red Hat Linux 6.0 on
the ThinkPad 600E! Nice to see this, and some (not all) of the info
provided there will be relevant to the 390E.