Reviving your old PC with Linux, Part I: Defining Expectations
This is part one of a series on making your aging, dusty — or just unused — computer useful again with some help from Linux and Free/Open Source software.
Linux has quite a reputation for rescuing old hardware from obsolescence; while this is not entirely undeserved, there’s more to it than just popping the latest Ubuntu release into that antique DOS box in your attic. An operating system is commonly called “Linux” if it’s built on the Linux kernel, but that says nothing about the software stacked on top of the kernel (which is most of the actual system). For some of these operating systems, that software is lightweight and small; for others, it’s heavy and resource-consuming. Finding a version (we call them “distributions”, or just “distros” for short) that will work well with your hardware, and work well for your purposes, is the key to successfully bringing that old PC back to life.
So what distribution should I use?
If you ask the question, “What Linux distribution should I install on my old PC?” on a typical Linux forum, you’ll likely be bombarded with a roll-call of distribution names (most of them fairly obscure); usually without respect to your needs or the hardware in question. While you could just download and try them all, a more educated approach will probably save you a lot of time (and blank CD-Rs!). So rather than take that same mistaken approach, we’re going to start by analyzing the question in more detail.
Question 1: What do you mean ‘old’?
“Old computer” means different things to different people. If you can remember loading software from an audio cassette and gasping in wonderment at the possibilities offered by a whole megabyte of RAM, you probably have a different definition of “old” than someone whose first computing experience was surfing the Internet on Windows XP. Of course, the definition changes annually as this year’s products obsolete last year’s, and new software releases demand more hardware to function.
I propose to you five categories: Prehistoric, Senior Citizen, Distinguished, Middle Aged, and Not Old. The definitions of these categories are going to be relevant for the state of things in 2011; posterity will just have to extrapolate.
- Prehistoric: Anything pre Pentium-Pro (or AMD K6), basically designed to run DOS or maybe Windows 3.1 will be considered prehistoric. These are most computers made before about 1995.
- Senior Citizen: This would be Pentium Pro, Pentium II, and AMD k6-2 processors — machines designed to run Windows 95 or 98. These are 1995-1999 vintage or so.
- Distinguished: Pentium III, Early Pentium 4 (less than 2 GHz), AMD Athlon, AMD Duron computers — these are Windows 2000 or first-generation Windows XP machines from around 1999-2002.
- Middle Aged: Pentium 4, Celeron (2 GHz or higher), AMD Athlon XP, newer Duron processors — mostly Designed for Windows XP, dating from between 2003 and 2006.
- NOT OLD: Anything 64 bit or dual-core, Pentium D, Core 2, Sempron, Opteron, etc. These are computers designed for Windows Vista or newer, and they really aren’t old in 2011 Linux terms.
If your equipment is prehistoric, you might want to forget about Linux. Those in-the-know might point out to me that Linus Torvalds wrote the first Linux kernel for (and on) his 386 PC; but that was twenty years and several million lines of code ago. Some distributions claim to run on a 486 with 16Mb of RAM, but you’re unlikely to get much use out of it with a modern Linux distribution unless you’re prepared to do some major plumbing work.
If you really must put some alternative OS on a dusty relic like that, I recommend you check out FreeDOS, Menuet, KolibriOS, or possibly Minix; or just start searching the Internet for small operating systems and see what gems you find. You’d be surprised how many there are.
On the other end, if your equipment is classified NOT OLD, then you really don’t need a special lightweight distro. Your equipment might not run a full-on composited desktop with spinning cubes and wobbly windows (which has more to do with video hardware than processor age), but any modern general-purpose distribution should work fine.
That leaves us with Senior Citizen, Distinguished, and Middle Aged computers. These three classes are ideal candidates for lighter Linux distributions, depending on what you intend to do. Which brings us to the next question…
Question 2: What do you mean “Run Linux”?
A computer running a Linux distribution can fill a wide variety of roles; some of those roles require a lot of computing power, some don’t. Looking at the most common uses, though, I’ve made a scale of power requirements from least to greatest, depending on what you intend for your new Linux machine to do:
- “Look Ma, I installed Linux”: you don’t care what it can or can’t do or how fast it runs, you just want to put Linux on it for geek cred.
- Light server: you want to run a command-line-only install for running lightweight services (small website, ftp server, DNS, firewall, etc).
- Heavy server or Command-line workstation: You want to run heavier services (media streaming, complex web applications, terminal services), or “get your geek on” with a command-line-only workstation for text-only computing.
- Lightweight Desktop: you want a simple graphical desktop with very basic applications, simple 2d games, and “light web browsing” (that is, you want to read web pages, not stream video). You don’t expect to run full-featured, modern apps or multitask.
- Middleweight Desktop: you want a full-featured desktop computer with full-blown apps, games, and web browsing; but with a lighter desktop environment to conserve resources.
Different distribution, software, and hardware combinations are going to be optimal for these different levels, and I’ll return to these levels later after we’ve learned some more.
But let’s clarify one more thing –possibly the most important thing –first:
Question 3: How hard do you want to work for it?
Performance isn’t free, and as we’ll see later on, the most common things that get chucked over the side when developers are looking to drop some software ballast are automation, advanced features, and (with respect to personal taste) good looks. If your experience installing Linux amounts to breezing through the Ubuntu installer, you may be in for a rude awakening when it comes time to roll your own partition scheme with fdisk commands or write your own GRUB config from scratch. So we’ll define a few levels of “committed” to this installation.
- “Clicky Clicky”: It’s got to be a simple, graphical, mouse-driven wizard with sane defaults and no terminal knowledge required, or I’m out.
- “Connect the dots”: It can have some command line work or pre-prep, but it needs to be well documented with clear, exact steps to follow.
- “Educational”: I don’t mind having to learn a few concepts and do some troubleshooting. I’m prepared to join the forum or mailing list and start asking some questions.
- “Hurt me”: Bring it on, I’m ready to write my own kernel if I have to.
These levels will come in handy when we start talking about the install experience of different distros and software options. Beyond that, there is almost always a bit more performance you can squeeze out of any hardware if you dig in and do a little research and tweaking.
Preparing our General Expectations
I’ve painted with a broad brush so far, and only just scratched the surface of the various hardware and software issues we’re going to encounter. But right now, you should have a pretty good idea of where you and your hardware stand on the three questions above. Based on that, the following chart should give you an idea of how your answer to the first two questions will line up with your answer to the third:
|Computer age||“Look Ma!”||Light Server||Heavy Server/CLI
|Light Desktop||Medium Desktop|
|Prehistoric||Hurt me||Hurt me||Forget it||Forget it||Forget it|
|Senior Cititzen||Connect the dots||Educational||Educational||Educational||Forget it|
|Distinguished||Clicky-Clicky||Connect the dots||Connect the dots||Connect the dots||Educational|
|Middle-aged||Clicky-Clicky||Clicky-Clicky||Connect the dots||Clicky-Clicky||Clicky-Clicky|
Obviously, some applications (such as running a command-line server) are going to require some learning just by their nature. But in terms of getting the basic environment set up, you’ll note that generally: the better your hardware, and the less you expect, the easier it will be to install Linux. Also, depending on the distribution you pick and the specific things you want to do, these difficulty estimates will vary widely.
Next time, we’ll dig in to some more detailed concerns when it comes to your computer hardware. ‘Til then, happy tinkering!
UPDATE: Part II is here!