Monday, February 09, 2009

Software as a Subversive Activity, Part 12: Minimalist Distributions

Linux Monday: Pushing the envelope on old gear

Old computers are less than a dime a dozen—-literally. I pick them up for free, either through a wonderful group called Freecycle or literally off the street. I live in a college town and at moving time, that old desktop from freshman year isn't worth packing. So some local geek like me comes along and turns it into a Linux box. (I have yet to have achieve my dream of someone actually paying me to take one away.) Or, if it's really old, I strip it for the usable parts.

We've already seen that Linux can extend the life of your old machine, giving you a usable and functionally modern system on older hardware. But how far can you push that? How little computer does it take to run a modern, GUI operating system?

I decided to take a particularly ancient computer and see what I could do. My self-imposed rules: no money, just the box and whatever I could pull out of the pile of parts. It took me a little longer than I expected, which is why we skipped Linux Monday last week.

Our test case: A vintage 1996 Pentium. Not Pentium 1; that's a retronym like George H.W. Bush. A Pentium, 200 Mhz processor speed, a 4 gig hard drive, and 32 Mb of ram. (I have MP3 files of long Pink Floyd songs that are bigger than 32 meg.) One USB port. The sticker tells me those specs were clearly A Big Deal back then. I fired that baby up and it successfully booted.

Clearly, it's been out of use for a while. It's a trip to the Windows 95 wayback machine. It actually ran pretty smooth in the original configuration, and Windows was almost comprehensible three generations ago.

Number one distribution Ubuntu has a sub-distribution called Xubuntu, which used the lightweight xfce desktop instead of the more demanding Gnome and KDE desktops. I've loaded it on Pentium Iis with no problems.

But on the 32 meg machine, Xubuntu failed. If I had bothered to read first, I would have found:
You need 128 MB RAM to run the Live CD or 192 MB RAM to install. The Alternate Install CD only requires you to have 64 MB RAM at install time. To install Xubuntu, you need 1.5 GB of free space on your hard disk. Once installed, Xubuntu can run with 192 MB RAM, but it is strongly recommended to have at least 256 MB RAM.

That's really, really minimal by modern standards. For anything but the oldest of the old, it would be fine. But I'd set the bar as low as I could go, not in the pole vault sense but in the limbo sense. Memory appeared to be my bottleneck.

There's a few specialty Linux distributions geared toward low-low end machines. Puppy Linux, for example, will run on a 166MHz processor and 128MB of memory. Damn Small Linux takes that even lower--a 486 processor and 8 MB of RAM. Given the lower specs, and the fact that I preferred the mild profanity name to the cutesy name, I started with DSL. The download was also damn small, a mere 50 meg. I though for a moment I'd lost my connection, but no, it was done.

A little tweaking of the boot order in the CMOS on the old box so that CD boots first, throw it in the drive, and bam. Damn Small Linux was flying on a 32 meg Pentium 200. DSL has a built-in system stats feature that lands on the desktop by default, and it told me the OS was using 51% of available RAM.

Having thus proven my point, I raided the Box of Old Parts. Most of my endless supply of old PC100 memory didn't get along with the motherboard, but I managed to upgrade all the way to... 64 meg! and also throw away some unlabeled 8 and 16 meg chips. I also swapped out the CD drive because the original was making some nasty grindy noises. And I threw in an Ethernet card because all the machine had was a dial-up modem--not unusual in 1996.

Just for fun I tried my Xubuntu disk again. The CD booted up to the opening interface, and allowed me to choose Install. But a series of error messages climaxed, as expected, in a memory shortage. So back to DSL I went.

Damn Small Linux is meant to be used as a live CD, so I didn't have to wipe the hard drive and lose that museum piece Windows 95 install. With more memory, the desktop responded faster, but DSL didn't recognize the Ethernet card out of the box. It needed some manual configuration. Firefox opened up; DSL also includes a minimalist browser called Dillo. Point proven, and with my wife noting that the pile of old computers is getting bigger, I stripped it for parts, including that hard drive with Windows 95.

I then tried Puppy on an old Celeron that had been running Xubuntu, and was a Windows 98 machine when I got it free. The download was a little bigger – 95 meg – but the interface was a lot more inviting-looking. If you didn't know you were using a minimalist distribution, you wouldn't suspect it. More significantly, it had no trouble recognizing peripherals, including network cards. So I left Puppy running, mounted the hard drive, and started running SETI@Home. In a couple weeks I'll let you know if I gain any alien-detecting speed from running a minimalist distribution.

Can I do as much as I can in Puppy as I can in Ubuntu? No. But the fair comparison is not DSL or Puppy to Ubuntu or Vista... it's DSL to Windows 95. It's a harder comparison than you might think, because we ask so much more now than we did a decade ago. You weren't trying to watch YouTube or synch your iPod or even use a tabbed browser in Windows 95. As the original network card-less state of the hardware showed, even broadband was cutting edge back then.

In open-source software, everything under the hood is transparent. Maybe you don't need to optimize for minimal-spec, but maybe somebody who does had a good idea that you can use. It's the opposite of the Vista approach, expand the demands of the software to match the high end of the hardware.

But why shrink the demands of the software to the bare minimum, below the point of the most obsolete hardware? I had no reason other than writing this and proving my point, in best Linux On A Potato fashion.

But if you think a little, you can probably come up with a use for a minimal resource operating system. You don't need a fully bloated operating system and accompanying expensive license to, for example, display a sign. How about on an aging ATM? As long as old tech works for you want it to do, it's not obsolete. Sometimes there's a hidden plus like longer battery life or better portability, like this journalist who loves his 11 year old notebook. And if you're an innovator, you can find a new use... like, say, the entire netbook market, built around low-spec machines that do just a couple things but do them well.


Red Devil said...

Try SliTaz - lightest distro I've ever come across

Thumos said...

More old hardware fun: