Damn Small Linux: Still Damn Fun

I’ve
described how to refurbish mature
computers in several articles. The emphasis has been on machines in the four to ten year
old range — Pentium IV’s, D’s, M’s, III’s and Celerons.
But what if you have a really
old computer, like a Pentium II, I, or even a 486? Can you use it for
anything worthwhile? A vintage distro named Damn Small Linux answers
“yes.” This article describes DSL and tells
how to make 1990’s computers useful again. Screenshots follow the
article.
WARNING:

Some people feel that playing with computers more than a decade old is
nothing short of idiotic. If you agree, stop reading now and save
yourself the trouble of composing a clever flame. Those brave enough to enter the WABAC Machine, please continue:


Entering the WABAC Machine

Mr. Peabody and his pet boy Sherman enter the WABAC (pronounced “Way Back”) computer to fix history.
The Rocky and Bullwinkle Cartoon Show, 1960. (Image: Wikipedia)

Background

486’s, PentiumI’s, and II’s ran Windows 3.1,
95, 98, 98SE,ME, and 2000. The
trouble with refurbishing any of these older versions of Windows is
that you can’t securely connect them
to the Internet. Microsoft doesn’t
supply security fixes and they’re long out of support. Most anti-malware vendors
don’t support them. If you find an anti-malware product
thatruns on them, itoverwhelms the CPU. It’s no longer practical to run internet-connected, pre-XP versions of Windows.




Windows alternatives are the way to go to. This article
describes one of several Linux distributions that fills the bill. Other possibilities
for include BSD variants (FreeBSD, OpenBSD, and NetBSD), DOS descendants (FreeDOS, OpenDOS), and other small operating systems (MINIX,Breadbox Ensemble).

Damn Small Linux is a “turnkey” distro. It’s convenient because it bundles everything you need right
in the initial install. Another way to go is to take a bare-bones Linux
distro like Tiny Core and
build it up into the system you want. This takes more effort but ensures that only apps you need consume resources. The choice
is yours.

Keep in mind that old computers simply don’t have the
horsepower for some tasks people use computers for today. Video?
Movie-making? Lots of open windows? Web site
generators? Nope. Limitations in mind, here’s what old hardware offers:


Pentium: Produced: Processor Speeds: Typical Memory: Maximum Memory:
486
1989 to 2007
16 mhz to 100 mhz
2 to 16 M
varies widely
I
andI-MMX
1993 to 1999 60 mhz to 300 mhz 16 to 64 M 128 M
II 1997 to 1999 233 mhz to 450 mhz 64 to 128 M 256 M
III 1999 to 2003 450 mhz to 1.4 ghz 128 M to 512 M 512 M to 1 G



Sources: Wikipedia,
Tom’s Hardware, personal
experience. “Typical Memory”
refers to how much memory you’ll typically encounter in
donated computers. “Maximum
Memory” is the hardware limit for the maximum allowable memory.
Computersvary a bit in maximum memory by manufacturer; common
maximums are listed.
Celerons are excluded from this chart because the word is a brand name for
“value computers” that indicates nothing about processor speed.





Pentium III’s and earlier have no resale
value. You can get one free from friends, family,co-workers, Freecycle, or Craigslist. You might even have onein your own basement or attic.

Enter Damn Small Linux


Damn Small Linux

or DSL was released in 2003 to create a
Linux operating system for older hardware. It’s based on Knoppix/Debian technology. While your mileage may
vary, the basic DSLsystem
requirements
are:

  • 486 or better processor
  • 8 M memory for the command line inteface (16 M recommended)
  • 16 M memory for the graphical user interface (24 M recommended)
  • The DSL download is 50 M

DSL’s
targeted “sweet spot” is:

  • High-end 486’s
  • Pentium I’s
  • Pentium I MMX’s
  • Low-end
    Pentium II’s

If you have a more capable machine — a Pentium II with at least 128M or a Pentium III — I’d recommend Puppy Linux. Puppy supports abroader range of bundled applications than DSL and is more
user-friendly. Read my Puppy review here.

With a Pentium III with at least 256M and there are dozens of distros
available to you. My favorite is Lubuntu. Read my Lubuntu
review here.

Whatever machine you have, be sure to top out its
memory. Memory is a critical resource thatlimits what you can
do with
these old machines.
Bump
a P-I MMX up from 32M to 128M, or top out a P-II with 256M, and you’ve
acquired a whole new universe of possibilities. Used
memory is cheap. Just like the old computers themselves, it’s often
free if you can find it. If not, local
computer shows, eBay, and refurbishing organizations like Free Geek are excellent sources.

How Does DSL Do It?

How on earth does DSL get Linux — with a GUI — to run on
an old P-I or a 486?

DSL disables all unnecessary daemons or
services. It gives you a tool to directly manage daemons. Bundled applications
were chosen specifically for their stingy resource use.

DSL will run entirely from memory if you have at
least 128M.
This
eliminates slow CD, hard disk, or USB access and executes the system at
in-memory speeds. This has a big performance impact because the drives on older computers were much slower than they are
today. Remember 2x and 4x CD-ROMs?

Efficiency means
trade-offs, of course. Many of DSL’s apps are a bit geeky rather than easy to use. The default GUI is Fluxbox,
a lightweight interface configured by text files. Fluxbox offers some
eye candy but has limited support for graphical icons. My feeling is
that while DSL
performs miracles in reviving older computers for hobbyists,
it isn’t appropriate for the typical “computer consumer” or end user.



Flexibility

DSL adapts well to the
system you have, rather than imposing hardware requirements. This is
critical because old hardware may have missing or broken components. Maybe your system doesn’t have a working
CD, or maybe the disk drive is flaky. I had a Gateway
Pentium II on which the USB ports never worked. (The USB 1.x
specification was not entirely successful.) DSL works
around the hardware you’re missing.

DSL
boots from any bootable device: Live
CD, business card CD, USB memory stick or pen drive, IDE compact flash
drive, hard disk, zip drive, floppies, and more. Likewise, it stores
data to any writeable device. You can run DSL stand-alone or
under Windows as an embedded “guest OS” using the QEMU
emulator. So you can run DSL from the disk of a Windows computer
without repartitioning.

If you install DSL to disk, you can choose either the frugal install or a full install. The frugal install simply copies the Live CD files to disk. This gives you the speed of hard disk coupled with a very easy
install. DSL’s full install is a
traditional Debian disk install. DSL also runs from a USB pen drive.

What You Can Do With It

Ok, so you run DSL on a low-end computer. What can you do
with it? It won’t do everything today’s computers can, yet you can perform a surprising range of useful tasks.

DSL 4.4.10 is the current release, available since late 2008. Here’s what it bundles:

Windows Interface
FluxBox, Joe’s Window Manager (JWM)

Browsers
Dillo, Netrik, FireFox
Office
SIAG
spreadsheet, Ted word processor with spell checker, Xpdf PDF viewer
Text Editors
Beaver GUI text editor, Nano, Vim
Email
Sylpheed
File Managers emelFM, DFM
Images Xzgv picture viewer, Xpaint image editor, mtPaint raster
graphics editor
Instant Messaging
Naim, a AIM, ICQ, and IRC
client
Voice Over IP (VoIP)
Gphone
Music and Video
XMMS (mp3, ogg, mpeg, cd audio) and mp321 and ogg123
FTP
AxyFTP FTP client, and BetaFTPD FTP server

Other apps include: MS Office Viewer, Postscript Viewer, Midnight
Commander, Microcom, Bash Burn (CD Burning App), Monkey web server,
VNCviewer, Rdesktop, Sqlite (a small and fast SQL database engine),
Telnet client, Nano (a Pico Clone), and Xbase utilities (Xcalc
etc.).

DSL supports Wi-Fi, USB devices, and PC cards. It comes with lightweight system administration tools. Its
system monitor displays system statistics — memory and CPU use — in
the upper right-hand corner of the screen at all times.
This
information is helpful on resource-constrained computers. The
display is unobtrusive because it appears in a small, lightweight font.

A DSL feature called MyDSL
enables you
to easily install applications from the DSL software
repositories. Debian’s Advanced Packing Tool (APT) is included.
You have to enable it first by following the link to Menu -> Apps -> Tools -> Enable Apt. Then you can use apt-get to add more applications.

DSL Versus Other Distros

DSL occupies a different niche than other lightweight Linuxes. It was
designed, tested and run on old computers. It retains support
for many old devices. Try running current Linux distros on
machines from the 1990’s and you’ll come to appreciate this problem right
away.

DSL runs the 2.4 Linux kernel, instead of today’s 2.6 kernel. For those who object that “this isn’t
current software,” keep in mind that we’re talking 1990’s computers. They often aren’t capable of running
current software. The
2.4 kernel retains support for legacy
devices that 2.6 dropped since it came out in 2003. DSL also supports
the older SYSLINUX booter as well as ISOLINUX for computers that won’t
boot the latter.



Most current distros
that run on resource-limited equipment do not test on old hardware.
Examples are Lubuntu and
Tiny Core Linux. Lubuntu was first released in 2010
and
has few if any users beneath the P-III range. Tiny Core 1.0 was
released in early 2009.
Puppy Linux
supports both 2.6 and 2.4 kernels and some enthusiasts run it
on the old machines DSL targets. But most Puppy users have high-end
P-II’s or better.

What you really have to decide here is whether
you’re
looking for a distro with limited resource requirements, or whether you
need one that specifically supports old computers as well. These are
two distinct goals.
DSL is your best bet for computers from the 1990’s.

Here’s a comparison based solely on resource. The first line below shows “best use” based on
processors, while the second indicates best use based on the memory size —

Where Distros Fit

DSL-N

DSL has a larger, more current sister product called DSL-N. DSL-N weighs in at about a 95 M download and bundles a correspondingly larger group of applications.

DSL-N runs the 2.6 Linux kernel and includes the GTK+ widget toolkit
Version 2. It minimally requires a 200 mhz Pentium processor with 64 M
of memory. It targets P-II and P-III computers.

DSL-N’s bundled applications include: the
2.6.11 kernel and modules, Mozilla Suite 1.7.12 (browser, mail, irc,
etc.), Mplayer 3.3.5 audio and video, Leafpad 0.7.9 editor/notepad,
Abiword 2.2.7 wordprocessor, Gnumeric 1.4.3 spreadsheet, gTFP 2.0.18
ftp client, gaim 0.77 IM client, Xpdf 3.0.0 pdf viewer, Emelfm 0.9.2
file manager, Xpaint 2.7.6 paint program, and Cups 1.1.14 printing.

The Fate of Small Distros

By now, I imagine some readers are nearly apoplectic. But it’s no longer supported!! True.
The DSL project is dormant. DSL is no longer actively
developed or maintained.

The immediate cause of DSL’s demise was a personality conflict
among the leadership (Robert Shingledecker went on to found Tiny Core Linux). But in falling inactive DSL follows the fate of many retro Linux distributions.

Why? If you target older hardware, eventually your
project is more or less complete. You can’t evolve the software forward
because newer Linux software won’t support older hardware. And
you can’t add more software to the distribution or it is no longer
lightweight. Your distro becomes static.

The population of old hardware shrinks over time. Seven or eight years
ago picking up a free Pentium I and making it useful was exciting,
but today, well, you might score a free Pentium III. Maybe even a P-IV. Why play with a P-I if you could as
easily get a machine two generations newer?

DSL’s popularity shrinks as
the hardware it targets slips deeper into history. DSL once was
among the world’s top ten most popular Linux distros at Distrowatch.
Today the action for small Linuxes has shifted to distros like Puppy and Lubuntu,
ranked 8th and 16th as of June 2011. They target P-IV’s, P-III’s, M’s, and D’s. Today this is the sweet spot
of computer refurbishing.

The DSL team tried to address this natural progression by going
upscale
with DSL-N. But in contrast to DSL’s huge popularity,
DSL-N never caught on.

The Bottom Line

DSL is what it is. It’s not supported. It won’t change or improve. Yet it plays a useful role in providing a proven, turnkey
Linux for computers from the 1990’s: 486’s, P-I’s, P-I
MMX’s, and P-II’s.

You can’t expect to run current software on these old computers. The Linux kernel, developer toolkits, and many
applications have moved on. An operating system that specifically
addresses and supports these old systems is what you need.

DSL is one solution. It’s complete and convenient. Put it
on an
old Windows box and you have a secure, useful system. You can use it for word processing, email, IM and chat,
spreadsheets, personal databases,
and game playing. It can be your “crash box” for
suicide surfing and unconstrainted testing. It can serve as a
secondary box for the basement, garage,
or rec room, or as a backup if your main computer goes on the fritz.
And
finally, there is this: it may be old, but it’s still a free
computer, with all the discovery and learning that
offers.

DSL is fun! If you’ve got an old box lying around, try it. You’ll learn something while making that creaky hardware freaky.

– – – – – – – – – – – – – – – – – – – – – –


Howard Fosdick (President, FCI) is an independent consultant who
supports
databases and operating systems. His hobby is refurbishing computers as
a form of social work and environmental contribution. Read his other articles here or email him
at contactfci at the domain
name of sbcglobal (period) net.

Further Information:

DSL Home Page
Community Wiki
The Official Damn Small Linux Book
Official DSL Forum (largely inactive)
Other Forums: LinuxForums.org, LinuxQuestions.org
Other Reviews: IT Reviews, TechieMoe, TechSource

Screenshots

All the screen snapshots you see here were taken with DSL’s built-in “X Window Snapshot” utility.

The first screenshot is the DSL desktop. It shows the default Window manager, FluxBox.

DSL’s desktop is not well designed for visibility. For example, the icons
at the bottom of the screen have a thin black font on gray
background.
The menuing system (not shown) also features black on gray shaded
background. The icons in the top left-hand corner of the screen
have labels with special background around them, since they wouldn’t be
visible otherwise.

System statistics are dynamically posted in
the upper right-hand corner of the screen. Immediately after system
start-up, 19 processes are running, using only 25.9 M of real memory,
and 1% of a single-core 2 ghz P-IV CPU. Now, that’s a
light system! Having these system stats always visible on-screen in this
unobtrusive manner is a big plus when working on resource-constrained
systems.

The Desktop


This screen shows a typical group of applications in use. They
include Firefox (aka Bon Echo) with 5 tabs open, the fast simple Dillo browser
hidden underneath, the emelFM file manager, and a terminal window.
Total real memory: 114 M, with 36 processes running! When the graphics
weren’t being refreshed, CPU use idled at less than 5%.

Desktop Applications


This last screenshot shows some of DSL’s office applications. Here I
have opened the TED gui word processor, the MSDoc File Viewer and
Converter, and the SIAG spreadsheet. The MyDSL Browser is in the upper
right-hand corner of the screen. It allows you to easily download and
install more applications from the DSL software repository. In the
upper left-hand corner a window shows folders that hold DSL’s bundled
apps, along with some of its system tools. It’s amazing how much useful software DSL crams into a 50M download.

Running office applications

58 Comments

  1. 2011-07-11 10:23 pm
  2. 2011-07-11 10:53 pm
    • 2011-07-12 4:51 am
    • 2011-07-12 12:10 pm
    • 2011-07-12 9:44 pm
      • 2011-07-13 2:08 am
  3. 2011-07-11 11:02 pm
    • 2011-07-12 5:33 am
      • 2011-07-12 5:42 am
        • 2011-07-12 8:30 pm
          • 2011-07-15 9:53 pm
    • 2011-07-12 8:27 pm
      • 2011-07-13 1:14 pm
        • 2011-07-13 1:32 pm
  4. 2011-07-12 3:21 am
    • 2011-07-12 3:36 am
      • 2011-07-12 4:14 am
        • 2011-07-12 5:13 am
    • 2011-07-12 11:26 am
  5. 2011-07-12 4:51 am
    • 2011-07-12 8:22 am
      • 2011-07-12 8:38 am
      • 2011-07-12 8:45 am
        • 2011-07-12 10:41 am
          • 2011-07-12 11:31 am
          • 2011-07-12 12:49 pm
        • 2011-07-12 4:27 pm
          • 2011-07-12 7:57 pm
        • 2011-07-12 8:35 pm
        • 2011-07-14 4:47 pm
      • 2011-07-12 8:49 am
      • 2011-07-12 4:38 pm
  6. 2011-07-12 5:07 am
  7. 2011-07-12 5:16 am
    • 2011-07-12 11:21 pm
      • 2011-07-15 10:59 pm
        • 2011-07-15 11:14 pm
          • 2011-07-16 9:53 pm
  8. 2011-07-12 7:09 am
  9. 2011-07-12 7:35 am
    • 2011-07-16 6:07 am
  10. 2011-07-12 8:38 am
      • 2011-07-12 1:30 pm
        • 2011-07-13 10:18 pm
        • 2011-07-14 7:34 am
      • 2011-07-15 11:19 pm
    • 2011-07-12 1:35 pm
      • 2011-07-12 11:41 pm
      • 2011-07-13 3:16 am
  11. 2011-07-12 10:43 am
    • 2011-07-12 2:09 pm
      • 2011-07-12 3:06 pm
  12. 2011-07-12 4:36 pm
    • 2011-07-12 6:37 pm
  13. 2011-07-12 9:21 pm
    • 2011-07-13 6:10 am
  14. 2011-07-13 10:15 pm