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
workstation
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!

9 Comments

  1. [...] the last article, we classified your computer’s hardware broadly by age or processor type, but there is a lot [...]

  2. Dear Alandmoore,
    Thanks you for your post, I’m looking for some thing to regenerate this aged notebook for use being an web browser. This initially included Home windows ME PERSONALLY onto it and i also simply discovered it while experiencing stuff to move, just like I am starting task management that may make use of such a device, supplied it can in some way any contemporary browser. I’ve tried Pup Linux, also it leaped, however gradually. I am wanting to know when Stainless- OS may improve your speed compared to which.
    Great Job!

  3. [...] has a reputation for rescuing old, crusty computers from the landfill, of course, and there are many Linux distributions that cater to aging PC’s. ¬†Ubuntu [...]

  4. [...] for me in taking a dusty old laptop or tower that has been labeled “obsolete” and giving it a second life. ¬†For this task, I prefer [...]

  5. Matthew says:

    I find a a 1Ghz Pentium III is as good as any contemporary arm, and runs a 32 bit precise server very well. They are cheaper than a Raspberry Pi. Desktop is correct about Puppy, it rocks, and so would knoppix/dsl. A P4 will run rings around it for only a few more dollars.
    I have only just decommissioned a Compaq 5376 from last century (due to rust of all things), at the end of it’s life it had 3x32GB ssd’s, maxed out cpu and memory, and barely matched an underclocked eeepc 701 for performance, but it was still running Windows XP pro and puppy linux commendably. By the same token, there are a lot of four year old Dell T7400′s for sale right now, and these can run 8 cores at 3.2GHz if you can afford to pay the power bill.

    • Richard says:

      Cheaper than a Raspberry Pi? Perhaps to buy the machine but surely the Pi has a much lower power requirement, so will be cheaper to run? (Especially if you’re running a server which is on constantly).

  6. [...] we start with Linux, and since every third distro in existence claims to be a “lightweight distro for older [...]

  7. Richard says:

    How would it be impossible to use a pre-Pentium machine as a basic CLI client? (Assuming you’re using very basic protocols). I’d have thought that would have been the least intensive use of hardware possible.

    • Alan says:

      It may have been a mistake to lump “CLI workstation” and “Heavy Server” together, but I suppose the idea is that people usually expect reasonably responsive behavior from a workstation so the power demands are somewhat higher. I’m also assuming that even a CLI user wants to use some decent applications like Vim, Emacs, links2, MOC, etc. In my experience and opinion, these programs generally do *not* run usably fast on a pentium I, never mind pre-pentium.

      In any case, keep in mind these are massive generalizations, both about the hardware and usage; the idea is just to get people thinking a bit more critically about what “lightweight Linux” and “old hardware” actually means.

      If you’re happily using a modern Linux on a 486DX, that’s awesome.

Leave a Reply

Comments are moderated. Please keep it civil, on-topic, and family-friendly. Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *