|Reincarnating a discarded laptop with Linux
by Howard Fosdick (Aug. 1, 2006)
I recently picked up an old discarded laptop... straight out of a corporate garbage bin, as a matter of fact. Could it be useful? What could it do? As an IT professional, I thought I'd find out.
You've probably read similar stories elsewhere. Many people acquire old Pentium I, II, or III era laptops and install Linux and other free software to create a useful machine. A few years ago, laptop Linux was immature and this was a challenge. Laptops have always been proprietary and less standardized than desktop PCs. Today, however, Linux features much better hardware detection and installs easily on most laptops.
|Spread the word:|
digg this story
"Laptop revival" stories usually describe detailed procedures for installing Linux and device drivers on a specific make of laptop. This article is more general. How do you go about making an old laptop useful? What steps are involved? Which Linux distributions will work? We'll even discuss how Windows and dual-booting fit into the picture.
I assume that you, like me, use Linux but are not a guru. Neither of us have weeks to configure a laptop. We want to spend a couple days getting the software installed, then use the laptop. I'll include major sources of help on the web for further investigation.
Define your objectives
Start by defining your objectives. List what you want to do with the laptop. Since you have an older machine, these goals must be realistic relative to the hardware you have. So, you really need two lists: your objectives; and the laptop's hardware specifications. Then, you need to cross-check the lists to ensure that your objectives are realistic in view of your laptop.
I decided to use the laptop as a no-cost backup for my primary office laptop. My objectives for the old laptop were:
Your goals dictate the software you install. For example, if you'll use the laptop for music, video, or games, you'd install different applications than I did. Remember, your goals must be realistic for the machine you have. State-of-the-art games and resource-intensive applications won't work well on older laptops.
- Office support -- word processing and spreadsheets in Microsoft Office compatible file formats
- Presentations -- create and display presentations from the laptop, using software that supports Microsoft's Powerpoint file format
- Run common Linux and Windows applications
- Email -- manage mail from an old Compuserve account retained for business continuity
- Occasional light web use via dial-up modem -- quick look-ups for specific information
Identify what you've got
To determine what hardware you have, just boot the machine into whatever operating system it runs. All forms of Windows, from Windows 95 on, give hardware details in the My Computer | Properties panels. For Windows 3.1 or DOS machines, issue DOS commands like
mem, ver, msd, chkdsk and
scandisk at the DOS prompt. (Your laptop likely doesn't run Linux, because few laptops came with Linux until recently.)
What if Windows is password-protected and you don't know the password? This might be the case if the laptop runs Windows NT or 2000. If this is the case, you have a couple of options. One is to reset the password using free tools such as
ntpasswd. These free utilities are often available on Linux "rescue CDs," such as Knoppix. You can boot almost any "live Linux CD" (also known as a "live CD") and read Windows NT/2000/2003/XP files. But, you need a utility like
ntpasswd to reset the password so that you actually log in to Windows and use its installed applications. The book, Knoppix Hacks, gives examples of how to use
ntpasswd to reset Windows NT, 2000, and XP passwords.
Look over the outside of the machine. Note the ports and connectors. Find the manufacturer, model, and model number somewhere on the side, back, or bottom. Then, visit the vendor's website with the identifying information. Vendor sites typically offer a wealth of information, even for ancient machines -- hardware specs, software compatibility lists, manuals, reference materials, quick-start guides, configuration programs, and device drivers. Download all this, and save it all for later.
Boot into the Configuration or Setup panels to learn more about your computer. After turning on the machine, press DEL or F1 or some other key to enter these panels (depending on the laptop's manufacturer and BIOS). If you cannot enter the Set-up simply by experimenting, the vendor info you downloaded tells how to enter.
As well as finding out about your laptop's capabilities, the boot Setup panels allow you to test your hardware. Run these tests! You want to verify that all your hardware works properly, up front. Otherwise, you could spend many hours later trying to get a device working, only to discover that the hardware was faulty all along.
I found that my hardware was in good working order, and consisted of:
If you intend to retain the software already on the laptop, explore and catalog it, as well. This is the base upon which you'll build. If the base system is Windows and you want to keep it, I recommend adding Linux. Dual-booting gives you the best of both worlds. With tons of free and open source software (FOSS) available for Linux, you can accomplish almost anything without buying additional software.
- IBM Thinkpad 770Z
- Released to the market by IBM in January 1999
- 366 MHz CPU, 128 MB memory, 14 gig disk, CD-ROM, floppy disk drive, built-in 56K modem, and one USB port
- 13.7-inch screen with AGP graphics and 8 MB graphics memory
- PCMCIA card slots built-in, but empty
- No writable CD, DVD, or broadband modem
With lists of your objectives, laptop hardware, and installed software in hand, it's time to start planning. Your goal is to learn as much as possible about your machine, the software you'll install, and the set-up procedures you'll follow, before proceeding with the work. While most of us instinctively "dive right in," you really can save yourself lots of time with a little up-front reading and preparation.
Most laptop hardware is a given. You probably can't upgrade your machine's CPU or change whether the laptop came with a built-in CD or floppy drive. But one critical resource is easily upgraded and yields tremendous payback -- memory. Used Pentium I, II, or III era laptops will typically have memory of 32, 64, 128, or 256 MB.
Your laptop may have less than its maximum installable amount of memory, because few people buy a computer with the maximum memory -- it costs too much. But now prices are low, because you're talking about obsolete memory. You might be able to max it out for a pittance. Bear in mind: each 64 MB you can add tremendously increases the speed and utility of the computer.
The vendor specs you downloaded earlier will tell you what memory upgrades are possible for your machine. Or, visit UpgradeMemory.com. Here, you select your laptop manufacturer from a drop-down list, then pick your specific model from another drop-down list. The resulting screen gives you a description of typical and maximum memory for your machine, and tells exactly what upgrades are possible. Pay attention to part numbers and the banking strategy (whether memory sticks must be upgraded in sets with identical characteristics). After writing down this information, you can buy a memory upgrade directly from the site. Or, shop around and price-compare. Memory for old laptops is inexpensive, and used memory can be readily purchased on eBay, Amazon, or at local computer shows.
For my 128 MB Thinkpad, I found that I had one open memory slot. Each memory slot is its own bank, so I could place any eligible memory in the new slot without regard to what was in the two already-filled slots.
I doubled machine memory to 256 MB by adding a single 128 MB memory stick. It cost only $20. With that minimal investment, I dramatically increased the laptop's capabilities.
Operating system requirements highlight the importance of memory for old computers. I found that I had three basic choices in Linux distributions ("distros"):
Current Linuxes designed for limited or older machines include Damn Small Linux, Puppy, Feather, Wolvix, Vector, STX, and Pocket Linux. Some of these can run entirely in memory and make applications running on old Pentiums fly.
- Install a current Linux designed for older, memory-constrained machines
- Install a current general-purpose Linux distro that emphasizes dynamic configuration during installation, and perform a "minimal install"
- Install a full general-purpose Linux distro, but use an older release requiring less memory
Slackware and Debian are not specifically designed for smaller or older machines. But, they allow lots of customization during installation and can fit minimal machines. Many other distros fit this model, as well.
Red Hat version 8 offers a good example of how to minimize resource requirements by installing a full, older version of a distro. Red Hat 8 is four releases older than the current version of the product, Red Hat Enterprise Linux 4. I chose Red Hat because I've worked with the product before. Version 8 runs in 64 MB without the GUI, or in 128 MB with the GUI.
Red Hat 8, the GUI, and my applications would all fit comfortably in my 256 MB of memory. I decided to install Red Hat 8 on disk. This would meet my objective to run common Linux applications. Since Red Hat 8 includes OpenOffice, this would also meet my objective to run an office suite that works with Microsoft file formats.
Here are the minimal system requirements for these distributions:
|Version ||System Requirements |
|Damn Small Linux ||Minimum requirement is a 486DX with 16 MB memory. Runs fully in memory on machines with 128 MB. Also boots from USB thumb drive or from a live CD. 50 MB disk footprint. Details here.|
|Puppy ||"Puppy has been tested on a few very old machines but for best results..." use a Pentium @166+ MHz with 64 MB for releases prior to 1.0.2, and 128 MB for releases since version 1.0.2. Be sure to create a swap partition on systems with less than 64 MB of memory, otherwise no hard disk required.|
|Feather ||"Feather should be able to run on a 486 with 16 MB of RAM, but only in console (non-graphical) mode. To use X, 24 MB of RAM or more are required."|
|Wolvix ||Requires 36 MB to boot slax, 96 MB to run X Windows with Fluxbox, 144 MB to run X Windows with KDE. 486 or better processor. A suggested system has a minimum Pentium @266+ MHz and 128 MB memory. No hard disk required.|
|Vector ||The Standard Edition requires only a 386 or better processor with 16 MB of memory and 350 MB of disk space for a full install. The SOHO (Small Office / Home Office) edition requires Pentium III or better, 128 MB memory with 256 MB recommended, and 3 G for the OS on disk.|
|STX ||"Oldest system tested so far: K5/75, 64 MB RAM, 130 MB Swap ... very slow but works"|
|Pocket Linux ||"...you should at least have a Pentium II computer with 400 MHz and about 128 MB+ RAM in order to work efficiently."|
|Slackware ||486 or greater processor, 16 MB memory with 32 MB suggested. Additional hardware required to run the GUI. 100-500 MB hard disk is minimally required with 3.5 G for a full install.|
|Debian ||Pentium @100+ MHz minimum, plus 24 MB memory and 450 MB on disk for "No Desktop" systems, or 64 MB and 1 G disk for systems "with the Desktop."|
|Red Hat 8 ||64 MB for text interface, 128 MB for GUI. 400 MB hard disk for minimal install, 2 G for a "Workstation" install.|
Perhaps the single biggest factor in Linux memory requirements is that of the graphical user interface, or "GUI." The popular KDE or Gnome GUIs usually require about 128 MB, while lighter GUIs like Fluxbox, IceWM, FVWM, JWM, and Xfce can often run in 64 MB. If your system's memory is limited, try one of the lighter GUIs. If you have an early Pentium or 486 and are really pressed for memory, lose the GUI. Work from the command line to dramatically reduce your memory requirement and still run Linux.
This recent article summarizes system requirements for six small Linuxes and describes installing them on a 233 MHz Pentium II desktop with 64 MB of memory and a 3 gig hard drive. This article describes testing six distros with an 800 MHz Celeron laptop with 128 MB memory and a 10 gig hard drive.
The website, Distro Watch, presents very comprehensive Linux information. It lists all popular distros, and for each one gives you:
Distro Watch is a great resource for comparing distros and learning more about what's available.
- Project home page
- Download links
- Lists of releases
- Links to reviews
- Lists of software components
Try, before you "buy"
Live CDs give you the option to boot different Linux distros from CD-ROM without installing them to hard disk. You can try and compare products before you commit to installing a distro. You can verify:
Take advantage of live CDs to test out distros. You may even decide to run a live CD regularly -- although on old laptops, CD read performance often renders them prohibitively slow.
- Whether the distro accurately discovers all your hardware
- Whether it comes packaged with the software you need to meet your objectives
- Whether you like its user interface
- Its performance on your machine
While testing the small live CD distros in the chart, I fell in love with Puppy. Puppy is small, yet it includes the apps I need, such as OpenOffice 1.1.4. Puppy runs entirely in memory, if you have 128 MB, so it's speedy even on older machines. It boots from live CD, hard disk, or USB thumb drive, and even comes in a version called Puppy for Windows 98, which launches inside the DOS box in Windows 98. Since live CDs were too slow for my laptop, I decided to install Puppy for Windows 98. Read reviews of Puppy here and here.
I determined that OpenOffice would fulfill my needs for office work (my first three objectives). I found that OpenOffice version 1.x requires 64 MB of memory, while OpenOffice 2.x requires 128 MB. Ferreting out system requirements like this is important. If my laptop memory had remained at 128 MB, I would need to install OpenOffice version 1. With memory increased up to 256 MB, I could afford to install OpenOffice 2. Both versions met my prime criteria: they work with Microsoft Office file formats. I've exchanged files for years between OpenOffice and Microsoft Office, with excellent compatibility.
Browsers like Mozilla or the even lighter Dillo (with its 350 KB binary) could meet my need for limited Internet access. These products rounded out my objectives for the Linux install.
I decided to dual-boot the laptop because I wanted to run several old Windows applications. I had kept a spare Windows 98-SE2 boot CD and license from a PC long ago broken and discarded, so I didn't have to buy anything. Now seemed like a good time to put this old software to use.
Here are the minimal system requirements for common Windows versions:
|Version || CPU |
Minimal / Recommended
| Memory |
Minimal / Recommended
|Windows 3.1 ||>= 386 ||2 MB|
|Windows 95 ||386DX / 486 ||4 MB / 8 MB|
|Windows 98 ||486DX @66 + MHz ||16 MB / 24 MB|
|Windows 98-SE2 ||486DX @66 + MHz ||16 MB / 24 MB|
|Windows ME ||Pentium @150+ MHz ||32 MB|
|Windows NT 4.0 Workstation Edition ||Pentium ||16 MB / 32 MB|
|Windows 2000 Professional Edition ||Pentium @ 133+ MHz ||64 MB|
|Windows 2003 R2 Standard Edition ||Pentium @ 133+ MHz / Pentium @ 550+ MHz ||128 MB / 256 MB|
|Windows XP Home Edition ||Pentium @ 233+ MHz / Pentium @ 300+ MHz ||64 MB / 128 MB|
|Windows Vista ||Pentium @ 800+ MHz ||512 MB |
Notes: The links show where the information was obtained (usually from Microsoft's website). You can find further system requirements by following the links. "Pentium" refers to any Pentium-compatible processor. Windows Vista is not yet released.
Microsoft's official system requirements are considered too low by most users. Double the required minimum system memory, for example, if you like responsive software. Many say you should also double the processor speed. Here's an example. For Windows 98 Microsoft lists a 486 CPU at 66 MHz with 16 MB memory as the minimal system. Most users find that Windows 98 runs much more responsively with the minimum of a 133 MHz Pentium and 32 MB of memory.
Users of old computers often focus on whether their machines can run Windows 98 Second Edition, usually referred to as Windows 98-SE2 This operating system far outdistances 3.1, 95, 98, and ME in its lingering popularity. It is generally acclaimed as the most stable and useful member of the Windows family of operating systems for older client systems.
Windows NT Workstation Edition and Windows 2000 Professional Edition will also run on many older laptops. The NT/2000 line was primarily a "server operating system" in its day, so it supports fewer consumer applications. Old laptops rarely have the resources to run Windows 2003 or Vista with reasonable performance.
Windows XP might be an option. XP Home Edition can work with a Pentium II and 128 MB. While what constitutes "good" performance is subjective, the consensus among my friends is that you need at least a Pentium III and 256 MB to 512 MB of memory for decent XP performance.
Whichever Windows version you select, the operating system is notoriously insecure. These free and open source software products can help address this shortcoming:
|Product: ||Purpose: |
|AVG Free Anti-Virus, A-Squared or ClamWin ||Free anti-virus scanners. All three support batch scanning. AVG also scans email and file activity in real-time.|
|Ad-Aware SE Personal, Spybot Search & Destroy ||Spyware / malware scanners.|
|Free Internet Windows Washer ||Eliminates Windows's history of your activities, including the index.dat file that keeps track of all the websites you visit.|
|MRU Blaster ||Eliminates lists of your Most Recently Used (MRU) files.|
|Tiny Personal Firewall, ZoneAlarm ||Tiny Firewall is small and light. ZoneAlarm works great but may be a bit weighty for some older computers.|
|MemWatcher ||Shareware that displays memory use.|
|StartUp Cop ||Controls what software loads at start-up time (an alternative to the |
msconfig command present in some versions of Windows)
Most of these programs can be downloaded from a single freeware site. My favorites for free Windows software are The Free Country, Download.com, and Major Geeks.
Given the extra software one must install for security and privacy, the question arises: Is Windows worth it? Other downsides include:
In my case, I dual-booted Windows because of some legacy applications including an old version of Compuserve. To run the apps under Linux, I could install Wine, a Windows emulator that runs over 3,000 Windows programs. Wine has a compatibility list you can review -- or, you can just install it, and test your applications.
- You have to pay for a Windows license -- even for an obsolete version
- Anything you can do with Windows you can do with Linux and FOSS
- Microsoft no longer supports its older operating systems, nor do they issue "Windows Updates" for them. In contrast, Linux offers excellent web support
Even if Wine works with my applications, I'll retain the dual-boot. Most IT sites still use Windows. It's handy to have it on this backup machine in case I need it, since my clients use it.
Running multiple OSes
Hard disk size is especially important when you want to install more than one operating system on your laptop. System requirements documentation tells you exactly how much disk you'll need for minimal, typical, and full OS configurations. As a rough rule of thumb, consider that you'll need a gig or two per operating system. A laptop with a hard disk of one or two gig might best be used for a single operating system. In my case, the 14 gig hard drive gave me the room to install up to four disk-bootable operating systems (the maximum allowed by the disk partitioning scheme).
You'll also need to consider how to manage the hard disk partitioning and booting of multiple operating systems. Linux provides many free tools for this, including PartGUI, QtParted, DiskDrake, and various distro installers for partitioning; and GRUB and LILO for multi-OS booting.
I had previously bought a program for partition management and multi-OS booting called System Commander. I'll use it due to its exceptional ease of use. System Commander hides partitions holding current operating systems when you install a new one. This safety feature protects previously-installed operating systems from getting accidentally clobbered when installing new OSes to the same drive.
OS installs are easiest if your laptop has a bootable CD-ROM. Bootable floppies work fine but require more of your time. Floppies run slowly and you'll usually have to boot from multiple diskettes. If you have neither bootable CD nor floppy diskette, consider a "network install" through the serial port. Unfortunately, old laptops pre-date booting from USB-attached thumb drives. Find out what devices your machine will boot from through its boot Setup panels.
Gather information and drivers
I mentioned earlier that you should visit the hardware vendor's site and grab all the material you can. Now is the time to read that information. You'll be way ahead of the game if you understand the machine you're trying to set up, beforehand. Time-consuming mistakes can easily be avoided if you learn about your machine by reading everything you can up-front.
Visit the Linux laptop "install experiences" websites here, here, and here. These sites share useful advice and hints for installing Linux on hundreds of different laptops with many different distros. Read the stories that correspond to your hardware and distro. The more you read about others' difficulties before you start, the better off you'll be. You can post questions or issues you encounter at online forums like Linux Forums and Linux Questions, and the Desktop Linux Forum.
Download all device drivers you can find before proceeding. I googled on "Thinkpad drivers" and "Thinkpad Linux drivers" and found tons of good information. Among them were IBM's Thinkpad drivers for Windows, the Linux Thinkpad Wiki, a Sourceforge project offering free Thinkpad configuration tools for Linux, a free GUI tool for Thinkpad Linux configuration, the source code for Thinkpad Linux drivers, and a program called TPB that enables the Thinkpad's special keys within Linux. These sources were invaluable. Reviewing this material in advance avoids big problems later.
Time to install
My old laptop's hard drive had been wiped clean by whoever threw it out, so I was starting from scratch. During planning, I decided to follow these steps in setting up the laptop:
The installs went like clockwork. I had all the software in hand, and had read everything I could beforehand. I did have trouble getting the modem to work under Windows. IBM's proprietary Thinkpad software did not operate as per the instructions. The advice I had collected from online forums helped me through this problem, though.
- Install System Commander, to define and manage partitions and multi-OS booting; the product also shields existing operating systems from new operating system installs
- Make a System Commander "rescue diskette," in case an operating system install tries to take over the master boot record System Commander controls on the hard disk
- Install Windows 98-SE2
- Install the Windows Thinkpad device drivers
- Install Compuserve 4.0 under Windows, and get legacy email working
- Run the System Commander rescue diskette, to take back the master boot record on hard disk from Windows and give it back to System Commander
- Install Red Hat 8 in a separate disk partition
- Install Linux Thinkpad device drivers
- Install OpenOffice under Windows 98 (it's already available under Red Hat as part of the standard install)
- Install Puppy for Windows 98 within the Windows 98-SE2 partition, so I can run Puppy fast from disk
- Install FOSS, for Windows security
I had no trouble at all during my Red Hat install. I still have a few minor tasks to finish, such as setting up all the special keys, but I've met my objectives.
With Puppy for Windows 98, my main obstacle was downloading the product. The sole download website appeared to be slow or unreliable. Installation was simple, though, and took all of five minutes. Like Red Hat, I still have a few very minor issues to address. All the important functions worked immediately.
Whether you have such good luck on your Linux installs depends on three main factors: whether your laptop is a popular, mainstream brand; the distro you choose; and whether you did your homework. Live CD distros are a great way to verify success before installing to hard disk (I verified Puppy with a live CD). I felt confident with Red Hat on the Thinkpad, because many web accounts related successful installs with this combination.
I did experience one major problem -- of my own making. I successfully completed all the install steps before my extra 128 MB of memory arrived. When the memory came in, I inserted it. I turned the machine on, and the number "268435456" appeared on the screen during the power on self-test (POST). 256 MB was now available, so I was ready to play! Instead of going into the boot Setup panels and running a memory test, I went straight into Red Hat. Over the next day I experienced random problems. Every now and then, an application would mysteriously shut down without warning. For example, Mozilla would display its product panel and then exit. What on earth could be wrong?
I went into Red Hat's System Monitor and found that the operating system was not accessing memory above 128 MB. Rebooting into Windows, the MemWatcher shareware memory usage tool for Windows showed the same problem. Clearly there was some problem with my new memory.
I exited and rebooted, this time going into the machine's boot Setup panels. I tested the new memory. It failed! After I returned it and got a new memory stick, I made sure I tested the memory before booting into an operating system.
This one error cost me two days of mystery and consternation (as much time as the entire planning and install process). I had proved the hard way that jumping ahead too quickly -- instead of patiently working through procedures one step at a time -- is often the most costly error you can make.
If you acquire an old Pentium I, II, or III era laptop, you'll find a good many uses for the machine. We've entered a new day -- you no longer need to have the latest hardware to have a useful computer.
Open source software has matured. Linux is much better at recognizing laptop hardware than it was just a few years ago. Installation is easy. Hundreds of enthusiasts have posted their experiences in installing laptop Linux on the web. My own success shows you no longer need to be a Linux guru or PC support specialist to get laptop Linux working.
The unstoppable movement towards free and open source software has transformed Linux into an amazing platform. At no cost, you can take an old laptop and make highly productive. What an exciting new era!
Do you have comments on this story?
About the Author
Howard Fosdick is an independent DBA consultant for Oracle and other databases. He authored the book Rexx Programmer's Reference, the complete 680-page guide to the free Rexx scripting language.
(Click here for further information)