The Free Range 'Community-Linux Training Centre' Project The 'Free and Open Source Systems Guide' (J-series) Handouts
J4. Upgrading Old Computers
Recycling old technology with Gnu/Linux
The computer world is obsessed with the utterly non-ecological trends of "bigger", "faster", and "newer"; much of the world's computer equipment is discarded not because it is broken, but because of the development of larger, more bloated software that requires faster computers to run it. This unit looks at the alternative option recycling and upgrading old computer equipment to give it new uses.
Planned and perceived obsolescenceThe basis for the development of the consumer society, over the last sixty years, has been based upon the principle that increasing consumption "is good". To prevent the market becoming saturated it's been necessary to shorten the life of consumer goods, either through "planned obsolescence" (they're designed to break or wear out) or "perceived obsolescence" (they're not fashionable any more). As Victor Lebow, an American economist, said in the Journal of Retailing in 1955,
Our enormously productive economy... demands that we make
consumption our way of life, that we convert the buying and use
of goods into rituals, that we seek our spiritual satisfaction,
our ego satisfaction, in consumption... we need things consumed,
burned up, replaced and discarded at an ever-accelerating
This is perhaps, before its time, the most accurate summation of the business model for the proprietary computer industry (both for hardware, the electronics, and software, the programs). Especially those sectors of the industry that have the highest level of turnover and the tightest level of proprietary controls over the hardware computer games systems and business information systems.
Computer systems are designed, produced and marketed to have a limited operational life. Although the hardware may last five to ten years before total failure, the software used on it may only be supported for two to three years. After that you are forced to upgrade because, to work within the mainstream of the business world, your information will not longer be compatible with those using the newer systems (in fact, newer proprietary systems read older files, but not the other way around, so it is you who are penalised directly for not using the latest programs/equipment).
Recycling used technologyWhen regenerating any computer equipment it is important to select the right operating system to avoid problems with "usability" of the system. Restoring old computer systems can be fairly simple: There is a lot of scrap parts to repair and upgrade older computers and, bought in bulk, often the hardware costs more to transport than to buy. But the greatest problem is software the programs that you run on the machine. Unless you can get software to install on the system, and work properly, and if necessary buy a legally valid license to use it, all you have is just box of electrical circuits, not a computer.
Proprietary computer software which for PC computers means Microsoft operating systems have a short service life. Microsoft fully revise their software every three to four years. When they do computer manufacturers and computer sellers completely change their stock in order to support Microsoft's new software. At this point support for the older versions will diminish, and only fringe retailers will continue to sell the older software (and often they will be charging just as much for it as when it was new!) Eventually, support for the predecessor will completely disappear (e.g., since the launch of Vista, Microsoft no longer support Windows 98, and at some point in the near future they intend to withdraw support for its successor, Windows XP).
Free software the Gnu/Linux operating system does not wholly abandon past hardware. This is because the software is developed incrementally it is not wholly revised. The revision of the modules within the operating system will usually retain 'backwards compatibility' with the older functions of the operating system meaning the newer version of the system may work equally well on older equipment. This backwards compatibility also means its possible to leave out certain parts of the system, and perhaps use just the older parts to make the system work on old computers.
When deciding what to do with old equipment it's important to plan which operating system to use before you embark on repairing and upgrading the equipment. This is because the choice of operating system may limit which of the old machines are usable, or how much upgrading the usable machines require to work efficiently.
Proprietary systemsThe CLTC Project does not support proprietary software either Microsoft Windows or Apple Macintosh. This is because it's just so damn difficult to keep working in the longer term. You can't get the software support for newer hardware in order to keep the old operating system running.
It's also a big legal liability. It doesn't matter that your software is eight years old, if you are using it without a license you're still breaching copyright. This leaves you open to legal action to recover damages if you get found out. Curiously, this can also mean that old proprietary software can cost the same now as it did when it was first sold people who need to use software legally, say Windows 98SE, still have to pay £60 to £80 for a new copy even though it's completely out of date.
The box/table below gives details of the processor, memory and hard disk space requirements for different operating systems. It lists the details for the Windows systems used on older equipment but it's also important to obtain additional software to make the system usable (a word processor, etc.). The present options for Windows are:
- Windows 95 has limited networking capabilities, but can be useful for very old machines (Pentium-I's) that don't need to connect to the Internet.
- Window 98/Windows ME can use networks and software is easier to obtain. Many people, especially in poorer countries, are still using Windows 98 as their main operating system because it works on older machines. Windows ME was the short-lived successor to 98 it's basically 98 with a few extra bells, whistles and bugs. Both systems are no longer supported by Microsoft.
- Windows XP is widely used, mainly because most of the machines running it could not easily run Vista. Microsoft still supports XP, and so software updates are still available for a year or so.
- Windows Vista is the latest version, requiring the latest hardware (for best results, a dual-core, multi-giga-Hertz machine with a giga-byte of RAM).
The "support" issue is important as it's only by continually installing bug fixes that you can keep computers connected to the 'Net free of malware. Microsoft's present policy will see active support for XP finishing in 2009, although some believe this will be extended as they're worried that customers might switch to open source alternatives.
The most important detail of using proprietary software is this: When obtaining the software you must get a copy of a license for it or buy the paper license from someone else otherwise once it's installed you're breaking the law and could be sued.
A comparison of the hardware needs of various PC operating systems
The table below gives the "system requirements" data for various PC operating systems. Don't take this data as read! Whilst the systems may "work", it does not necessarily mean that they're usable for those used to faster computers installations on older machines can feel painfully slow.
The 'processor' figure represents the speed/type of processor that will run the system. As a rule of thumb, double the processor speed figure or if possible use the next generation of processor.
Whilst speed is a factor certain systems cannot use older processors because they require the special features of newer processors to operate properly. Whilst a faster processor is better, sometimes you can make up for a slow processor with a better/faster motherboard or more memory.
The 'memory' figure again represents the bare minimum. As a general rule, you can never have enough memory! The more memory you have the faster the system will work because program data can be stored in RAM rather than being written, far more slowly, to the hard disk.
The 'hard disk' figure represents the amount of storage required for the system files. You must add to this the amount of data that you want to store on the system. If necessary use more than one hard disk when the motherboard can't support large disks.
One of the most power-hungry parts of modern computing is the graphical desktop. If you don't install it, and work just with the command-line interface, then even old equipment is capable of performing useful tasks the simplest being a small server on a network.
Gnu/LinuxGnu/Linux, for the most part, does not have the same copyright restrictions as Windows although some distributions like Red Hat or SuSE have some proprietary elements, such as the additional 'commercial' packages, or user-friendly graphical installation programs. The main benefit of Gnu/Linux is that it works well across a range of hardware, and in most cases, it will work better on older equipment than brand new equipment.
The most important part of selecting a Linux distribution is to match hardware you that have with the "system requirements". For older equipment the two limiting factors are often memory size and hard disk size. Recently the processor has become another issue since the advent of newer Pentium 4 and 64-bit processors which have limited support for the proprietary code used to make them work.
Different Gnu/Linux distributions (or "distros") are optimised around particular types of use. There are many different types of Linux distribution in circulation, some masquerading as other systems such as the Smoothwall firewall system. The main general purpose distributions are:
- Fedora The free software off-shoot of the more commercial Red Hat Linux distribution, it tends to be the distro choice of for Linux geeks because it's so simple to reconfigure and customise for advanced uses.
- Ubuntu A popular distro for the "average" computer user (the system is optimised for office and multimedia applications).
- Red Hat Enterprise Linux One of the early distros, RedHat is now a commercially-oriented distribution that specialises in server applications for large data centres/businesses.
- SuSE A general purpose distribution, with a good desktop and hardware support, but which has become more 'corporate' since it was taken over by Novell (OpenSuSE is the "free" version of their commercial offering).
- Debian A general purpose distribution that has a good desktop set-up, but that also supports older hardware, and because it was one of the earliest distros it's also influence the development of many other systems (e.g. Ubuntu, Xandros and the live CD distribution, Knoppix).
- Mandriva Linux General purpose distribution that provides a good desktop system and a very simple interface for beginners (not as popular as it once was since the development of Ubuntu).
- Gentoo Linux A more technical version oriented towards people who want to customise their system for particular purposes (or even develop their own distribution).
- Slackware A distribution that specialises in providing support for older equipment, especially systems with minimal hardware, but for this reason it's a little more complex to use.
There is no reason why you have to use the latest Linux distribution when installing machines unless you wish to ensure that you have the latest, most secure software packages available (for example, when you are installing a server that is connected to the Internet). In these situations the current distributions are required because you need the latest security patches to prevent abuse of the system. In other cases, if you can get the old installations discs (often you can pick older installations up for nothing via Linux User Groups) you can use older distributions that don't require as much power from your hardware.
All Linux distributions install in roughly the same way. The difference is usually the details of, or the help for beginners provided by, the programs used to perform the installation. Most now use a single program to manage installation whilst others switch into a program running from memory that allows you to use standard utility programs to set-up the system for installation. Even so, the basic requirements for performaing a Linux installation, such as partitioning and formatting the hard disks, selecting network addresses and setting passwords, require the same consideration no matter which distribution you use.
Be realistic!Old computers do not run programs as quickly, and so you don't work as efficiently, compared to undertaking the same operations on a newer computer. Although it would be nice to "save" every computer from the scrap heap, in the end you have to just accept that they have no useful function as a working machine and either scrap them or do something more creative with the physical hardware (a flower planter/window box, for example!).
Perhaps the best use of an old computer, which works but that is not powerful enough to be really useful, is as a training aid to teach hardware and system installation skills:
- For hardware training, these old machines, and the components that they use, are very cheap so it's not so problematic (compared to a newer machine) if it is accidentally damaged during assembly/dis-assembly;
- For installation training, especially for Gnu/Linux systems where most distros install in the same way, people can learn the basics of installation before trying it out "for real" on a better computer.
Upgrading memoryThe hardware limits of installation for most Linux distributions are usually specified in the "release notes" the the distribution. Before attempting to install anything you must upgrade the system to meet these minimum levels. This presents a problem when using older computers as, to make a usable system, they nearly always require the memory upgrading. Expanding the memory is often the best way to improve the speed of the machine, but this presents a few problems:
- '386 and early '486 machines use '30-pin' memory. These come in 1 megabyte, 2 megabyte and 4 megabyte packages. This makes it possible to assemble between 4MB and 16MB of RAM, but finding 4MB packages is difficult so often you are restricted to 8MB. You can use a "stacker" to create larger blocks, but they're very difficult to find. For this reason these older machines are restricted in their use.
- Later '486s/early Pentium-I machines use 72-pin modules. Organising 72-pin memory from a box of scrapped packages can be difficult because there are different types of package and just to be annoying some types only work in matched pairs. Usually you can create memory configurations of between 8MB and 64MB, enough to install some of the less demanding Gnu/Linux distributions.
- Some of the later Pentium-I machines used 168-pin DRAM memory packages. These have were the standard through the Pentium-II series up until the Pentium-III, so there's a lot of it about (although the early ones work more slowly). These come in blocks of 32MB, 64MB or 128MB. Usually there are two or three slots, so memory configurations of 64MB to 256MB may be easily set up (although some early Pentium machines had limits on the amount of memory that could be installed). For this reason Pentium-II/III systems are ideal to install for beginners as they're easy to play with and give better performance on the desktop with the larger distros.
- More recent machines (Pentium-III onward) use "double data rate" or DDR RAM. The difficulty here is making sure that the speed of the memory module matches the restrictions of the motherboard's bus speed often, if you've got a box of old memory, unless the speed is marked on the module (if you're lucky!), then you just keep trying different modules until something works.
Finally, you should always try and install the largest amount of memory physically possible. The memory figures in the table earlier are the lowest practical level of memory. Ideally you should have twice this figure to get a comfortable speed of operation. Providing that the operating system is able to address the memory and use it, the extra memory will significantly speed up the execution of larger programs because less information will be buffered onto the hard disk.
Upgrading disk drivesHaving solved memory capacity problems we move on to hard disk space. For text-based installations, such as those used for lightweight servers (and hard-core Linux geeks!), the amount of disk space required is about half that of a graphical installation. However, even for a server, having a graphical installation can be useful as the graphical tools simplify the configuration and administration of the server for less experienced Linux users.
Most PCs use 'Integrated Drive Electronics' (IDE) disk drives (the main alternative, SCSI, isn't popular except in old servers). The IDE system allows for up to four drives to be connected to the system (plus up to two more floppy drives on a single 34-way ribbon cable). These drives may be hard disks, CD, DVD or ZIP drives.
The drives are connected the the motherboard via two 40-way ribbon cables the "primary" (IDE-0) and "secondary" (IDE-1) cables with up to two drives connected to each cable (see diagram below). Small jumpers identify the drives as either the first "master" drive, or the second "slave" drive (you can also set the drive for "cable select", which selects on the basis of its position on the cable, but that doesn't always work on some motherboards).
The main hard disk is usually the 'primary master'. To allow the faster transfer of data between CD and disk, CD ROMs are usually on the 'secondary' cable and disk drives on the primary.
Most old computers come with a hard disk that is usually too small and too slow. This disk can be replaced with a larger hard disk to increase storage capacity. Alternately, a second hard drive can be connected to the system. The important thing to get right is the jumper connectors. When two drives are on the same cable one must be set to be the "master" and the other the"slave" (to avoid confusion, the drive that the computer boots-up from is usually configured as the "master" drive on IDE-0).
Note that the positioning of the connectors varies between different types of drive. If the connectors are in the wrong position, or if two drives conflict over which is master or slave, it doesn't cause damage but the drive won't work (likewise if the cable is the wrong way around not all cables contain the blanked-out slot to stop them being inserted the wrong way around).
The aim should be to create enough disk space to store the operating system, and have enough space disk storage left for the data that needs to be stored on the system. You could also install a "drive caddy" so that you can physically remove the drive from case easily either for security reasons or to use old hard drives as a quick and inexpensive way to back-up large amounts of data.
Working with BIOSThe last thing you'll have to contend with when finally trying to get the computer going is BIOS the Basic Input Output System. This is a simple program on a chip inside the computer that starts up the electronics and loads the system installed on the hard disk.
The first thing that BIOS does is the Power On Self Test (POST) this is just a check that the system has its memory and drives connected, and that the memory/drives are working OK. Unless you press a key to enter the BIOS set-up program (usually F1 or Del the key ID is displayed on the screen) then BIOS will display a list of the connected hardware before booting the installed system this happens really quickly on fast computers, but if you press the Pause key you can freeze the operation of BIOS to view the information.
If you press a key and enter the BIOS set-up program then you'll get a menu display. Each sub-menu controls a different aspect of the motherboard's functions from setting the time on the clock and the configuration of the drive to whether or not you display a pretty "splash screen" to obliterate the useful information BIOS provides with the corporate logo of the computer's manufacturer. If you have no system installed on the drives, or no system CD/DVD to boot from, BIOS will halt.
Putting it all togetherThis guide can't begin to explain the complexity of recycling a computer or installing an operating system what we've sought to do is outline the general process to get you started. If we did try and explain everything we'd end-up with a hard-back volume about 4" think (and a number of these already exist!). However, in 2011/2012 the Free Range CLTC Project will be launching its new Linux Installation and Extension Guide (LIEG) initiative. This covers the process of configuring the hardware and installing an operating system in more detail. For further information see
Produced by the Free Range 'Community-Linux Training Centre' Project
© 2008 Paul Mobbs/The Free Range Network. This document has been released under The Creative Commons Attribution Non-Commercial Share Alike License ('by-nc-sa', version 3).