Linux on Compaq Contura 4/25cx

Tomaz Solc <>


1. Introduction

I got this computer from the company I was working for during the summer holidays. They had no use for it and would trash it otherwise, since it won't run the latest Microsoft software. I installed Linux on it and now I'm using it to type reports in school. It will run a text editor, LaTeX and I can connect to the Internet with the built-in modem. I did not expect to run X, but now I ended up using X to preview my PS documents before printing. Even if I bought an expensive new laptop, I wouldn't run much more on it.

2. Technical features

Following is the abstract from Compaq's original documentation:

Besides the laptop, I got my hands on a D-Link DE-620 parallel port ethernet adapter, Megahertz 14,400 bps modem upgrade and a 4 MB memory board from Cubig Inc.

Some technical remarks:

3. Debian installation

I'm running Debian GNU/Linux 2.1. The normal installation disks will run without problems on a system with 8 MB of RAM, but you could run into problems when you have to decide how to get the packages.

One way to get them on your computer is by using a PPP connection. You can hook up an external modem (which is terribly slow because of the slow UART), or use the internal one (better if you have it, but still only 14400 bps). Better solution is to download (or copy from a cd) all of your packages on a second computer, then use a null-modem cable to set up a PPP or SLIP connection to the laptop. You will still have to wait a couple of hours, but at least you won't be paying for your dial-up. The solution is of course use a network adapter and connect to a LAN.

I suggest you first install a basic installation and then install the packages you need by hand. All of the preset collections are too much for Contura's small disk.

Consider removing some of the gettys in the /etc/inittab. You can save a lot of RAM this way. I settled with only two ttys.

4. Kernel configuration

I'm currently running Linux kernel 2.0.36. I've also tried running 2.2.17, but it offers no big advantages over the older version and it uses up more RAM. Following are some basic configuration tips. You can see my full kernel configuration here.

This is probably a good idea on a low memory system.
Intel 486 has a built-in FPU.
Contura doesn't have a PCI bus.
CONFIG_M486 - Yes
Enable 486-specific optimizations.
If you don't use the floppy drive regularly, put it in a module.

See also 6. Power management

I strongly suggest you compile your kernel on a second computer if possible. The compilation on such a slow machine would take at least 4 hours and you would have to install the gcc and everything else needed. I use the Debian kernel-package, because it makes handling the kernel and modules a lot easier.

5. Hard drive

Following is the hdparm -I /dev/hda output:


 Model=TS2953GA                                , FwRev=300..300, SerialNo=
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=985/13/32, TrkSize=18112, SectSize=566, ECCbytes=11
 BuffType=3(DualPortCache), BuffSize=32kB, MaxMultSect=8, MultSect=?0?
 DblWordIO=no, maxPIO=0(slow), DMA=no
 (maybe): CurCHS=985/13/32, CurSects=409760, LBA=no

I run hdparm -u1 -m8 /dev/hda every boot to set up the chipset, but I see no increase in speed. Perhaps the bottleneck is in the slow CPU and not in the disk. Some disk benchmark would be required.

It is impossible (very impractical in fact) to have more than one native and one swap partition. I decided for 16 MB of swap space, just in case. 8 megs would probably be enough, since you probably won't run anything big on this machine. Here's the output of fdisk -l /dev/hda

Disk /dev/hda: 13 heads, 32 sectors, 983 cylinders
Units = cylinders of 416 * 512 bytes

   Device Boot   Start      End   Blocks   Id  System
/dev/hda1   *       80      983   188032   83  Linux native
/dev/hda2            1       79    16416   82  Linux swap

6. Power management

APM BIOS is not fully functional under Linux (tested with kernels 2.0.26 and 2.2.17). Following is a list of my APM kernel options (2.0.36) with remarks:

Enable the APM base support.
Suspend button won't work anyway.
Enable APM at boot time.
Make CPU Idle calls. I don't know yet if this option helps conserve power.
Display backlight will shutdown properly when the console has been idle for some time, but it will not turn on again. A reboot is necessary.
Even with this option turned on, Contura won't power off after halt -p.
Ignore multiple APM requests.

Since my laptop has been used for several years before I got it, the battery is no longer useful. It's voltage is constantly 0 V, even when charged by the laptop internal charger. This could be the reason for non-functional suspend button.

It would be possible to replace the cells in the battery. I measured approx. 0.9 A drawn from the battery during normal work, so a modern 3000 mAh NiMH battery would last more than 3 hours.

The external AC adapter gives approx. 18.5 V, but the laptop still works with less than 12 volts, so it can be run from a car battery.

7. XFree86

Compaq AVGA is supported in XFree86 version 3.x (the driver hasn't been ported to 4.x). Debian XFree86 debs support it out of the box, you only have to provide the config. You can find mine here. (It is based on the config from Nils Faerber. His Contura 4/25c page).

I have found few problems running X:

8. Benchmarks

Copyright (c) by Tomaz Solc <>. This document may be distributed only subject to the terms and conditions set forth in the LDP License at <>. $Id: article.html,v 1.3 2010-04-17 22:55:19 avian Exp $