April 9, 2004

Linux breathes new life into old hardware

Author: Brice Burgess

Linux may be cutting-edge software, but it runs just fine on hardware that would make Microsoft's current operating systems beg for relief. I took four different distros and installed them on a five-year-old rebuilt IBM ThinkPad 600E supplied by LinuxCertifed. They proved that Linux on older hardware can be a cost-effective combination.ThinkPad 600E units tend to sell for around $300 on eBay. My ThinkPad 600E came equipped with a 366MHz Pentium II Mobile CPU, 256MB of PC66 SDRAM, and a 9.3GB 4,200RPM hard drive. That's theoretically much slower than the 3GHz laptops being produced today -- but notice I said "theoretical." Depending on your use, the speed difference can have either a major or hardly noticable impact. For raytracing fanatics, hardcore gamers, and encryption analysts, a ThinkPad 600E is not a suitable choice. For a typical user, however, who surfs the Internet, types papers, listens to music, creates Web sites, prints images from a digital camera, and balances a checkbook, the cost-effectiveness of the 600E is a clear advantage.

For my testing I chose not to rely on synthetic benchmarks, but to perform "real world" performance analysis. I measured boot-up and application launch times -- values that are easily understood and directly relevant to the end-users experience. I used each distribution's default install configuration, with no modification or optimization. For perspective I ran similar benchmarks on a "modern" computer with a highly customized Linux install. The reference machine sported an AMD Athlon XP 1600 CPU, 512MB of PC2100 DDR RAM, and an 80GB 7,200RPM hard drive, and ran Arch Linux 0.6, with the 2.6.4 kernel and xfce 4.0.4 window manager using XFFM as a file manager.

The 600E is certainly no slug. After booting into the OS I never found myself twiddling my thumbs for too long. I also experienced no lag while using a program once it was opened, probably due to the liberal amount of RAM. The launch times should prove tolerable to anyone with just a hint of patience. After all, years ago we were using these machines to do the same things without any complaints at all. We even paid more than six times the price!

The fact that the 600E scored well below the Athlon XP reference system is not attributable to hardware superiority alone. In fact, software configuration plays the larger role, both on the laptop and on the reference system. On the laptop I used the default installs of the distributions in order to provide conservative results. The default installs of the major Linux distributions tend to be generically bloated. By tailoring a distribution you may be able to gain a performance increase of 20% or beyond.

I tested the laptop using four Linux distributions shown below.

Distribution Version Linux Kernel Window Manager Install Type File Manager
MEPIS 2003.10 2.4.22 KDE 3.1.4 LiveCD Konqeror
KNOPPIX 3.3 2.4.24 KDE 3.1.5 LiveCD Konqeror
Mandrake 10 Community 2.6.3 KDE 3.2 Hard Drive Konqeror
Fedora Core 2 2.6.1 GNOME 2.5.3 Hard Drive Nautilus

BENCHMARK RESULTS

Boot Times of Distributions
time measured from bootup -> login -> WM ready to use
REF SYS Mandrake Knoppix Fedora Mepis
0:35.2 1:57.8 2:18.4 2:27.7 2:41.7

On the Athlon XP reference system I installed a highly optimized version of Linux in order to mimic the performance results you'd get from cutting-edge hardware such as the Athlon 64 or 3GHz Pentium 4. It features a cut-down kernel, bare init scripts, and XFCE, a lightweight window manager that is much faster than GNOME or KDE.

Note the large difference between the initial launch times of each application and the cached launch time. "Initial launch" is the first time a program is accessed. When a program is accessed it stores the information it needs (such as user preferences, dictionaries and history -- visited Web sites, recent documents, etc.) into memory. In Linux, this information remains in memory even after the program is closed, so if the same program is launched again, all its information is already cached. A closed program's memory is only cleared if another program needs to write to the computer's RAM and there is an insufficient amount left. Hence the cached launch time should always be faster. The difference is exaggerated further under LiveCD based distributions.

I benchmarked both KNOPPIX and MEPIS from their LiveCD install. LiveCDs run from the CD-ROM drive and are intended to allow you to demo Linux without making any changes to your system. Because they run from the CD, their performance lags that of distributions running from a hard drive, as the benchmark results demonstrate. KNOPPIX and MEPIS do provide a means to install to the hard drive, but I refrained from this option in order to test the performance of LiveCD distros.

Compatibility testing

In addition to measuring performance, I tested the laptop for Linux compatibility. I wanted to see how well today's distros detected the laptop's hardware, including 3Com EtherLink III PC Card and SMC EZ Connect Wireless PC Card network adapters, the onboard 56K modem, onboard sound, advanced power management, and USB and video ports. The results were mixed, as you can see from the table below.

Distribution 3COM SMC MODEM AUDIO APM USB VIDEO
MEPIS Y Y Y N Y Y Y
KNOPPIX Y Y N N Y Y* Y
Mandrake Y Y N N Y Y Y
Fedora Y Y N N Y Y Y
* NOTE: Knoppix was the only distribution to correctly handle my 6-in-1 Flash Card Reader directly out of the box

Because of the ThinkPad 600E's age and popularity, I expected all the hardware would be detected automatically. In actuality, none of the distributions correctly found the sound card and only one was able to detect the onboard 56K modem. This is not a flaw with the laptop itself. The hardware of the 600E works well. The compatibility issue lies in software, namely the auto-configuration programs the distributions are using. Modern distributions are supposed to work out of the box without the need to delve into a text terminal to perform computer magic. We have supposedly transcended the days of having to recompile the kernel to get everything working on a system. Alas, it ain't necessarily so. In time I suspect all these issues will be resolved. Newer ThinkPads are supposedly 100% Linux compliant, with modern Linux distributions recognizing all hardware.

I was able to get all hardware working with manual intervention. Doing a Google search for the 600E and Linux provided many insights into how people resolved their hardware issues. Resources I found helpful included IBM's guide to installing the TP600E on Red Hat 6.0, ThinkPad Configuration Tools, Getting sound to work, and ACP Modem HOWTO.

Enhancing the 600E

If you find yourself the proud owner of a 600E or any other older laptop, you can enhance its performance and usability by adding and upgrading components. Adding RAM is a quick, cheap, and easy-to-install performance booster. I recommend having 256MB. The 600E takes PC66 SDRAM SODIMMS, which can be found on eBay and from Crucial Technology and Newegg. Upgrading the hard drive is also a good idea. I recommend going for a 5,400RPM Travelstar or Toshiba 2.5-inch drive. The new drive will likely last longer than an existing drive, and will perform better. A fast hard drive dramatically increases the speed of your entire system. Finally, you can add peripheral such as CD-RW/DVD drives, wireless network adapters, and GPS equipment via the PC Card or USB interface.

Click Here!