Damn Small Linux is tiny Linux distribution that John Andrews originally created in 2002 to see just how many applications could fit into a 50MB system. The project has grown over the years to include many other contributors working on hundreds of packages and applications. Last month's release of DSL 4.0 brought many updates and changes, yet it remains a special-purpose distribution for older hardware because it lacks support for many modern features.
Damn Small Linux offers an amazing array of options for running the distribution. You can boot it as a live CD, from a USB stick, or on a hard drive. You can install it traditionally or run it within a Windows OS. It can run on CPUs as old as a 486DX with 16MB RAM. If you install it on your hard drive, you can upgrade it to a full-blown Debian system.
The distro provides a full desktop experience. Fluxbox is the default window environment. Its menu provides a nice selection of applications and system configuration tools. Also included are a hard drive installer, USB flash drive installer, and Frugal installer, which adds only a bootloader entry to boot the DSL ISO file from a hard drive.
My primary testbed, a Hewlett-Packard Pavilion dv6105, booted DSL 4.0, and with the boot option "sata" I could use my hard drives. The desktop rendered nicely at a resolution of 1024x768. The touchpad and extra USB mouse worked just fine, but neither the wired nor the wireless Ethernet connection would work. My wired chip requires the reverse-engineered Forcedeth module found only in 2.6.x kernels. DSL ships with Linux-2.4.31. My wireless chip requires the use of Windows drivers through Ndiswrapper, but the version included with DSL didn't work with it.
Knowing Damn Small Linux should work on very low-end machines, I dug an old Dell XPiCD laptop out of the closet. It has a 166MHz Pentium processor and 80MB RAM. DSL is one of the rare distributions that still provides boot diskettes for older equipment, available in the same current directory as the ISO. DSL enabled the laptop's PCMCIA Ethernet card during boot using the Hermes and Orinoco modules, but it could not automagically connect to my router because I needed to configure Wi-Fi Protected Access, and I wouldn't get a chance to set up WPA because DSL could no longer support the Neomagic graphics chip in that old laptop. Trying to boot using using the framebuffer cheat code or using "xsetup" to choose a framebuffer would not work. I kept getting the error "Can't locate module fb0" and finding myself at a command prompt.
For my third and final system, I tried a new desktop machine with a Gigabyte GA-M51GM-S2G Micro-ATX motherboard. I knew its Internet connection would be inoperative because its onboard Ethernet chip also uses Forcedeth, so I installed an old Linksys NC100 Ethernet adapter that uses Tulip Ethernet drivers, and I had a working Internet connection upon boot.
Using a 21-inch CRT monitor and the on-board Nvidia GeForce 6100 graphics chip, I issued the boot option "xsetup" to start X configuration during boot. I could then choose from resolutions up to 1600x1200 and also configure my mouse bus and keyboard. Sadly, other hardware on the machine was not supported, including my sound chip, which uses the snd_hda_intel modules, and my Epson R220 printer.
Damn Small Linux comes with an easy but effective hard drive installer. It asks just a few simple configuration questions pertaining to partitions, filesystem, and bootloader, and gives you no package selection or other settings to choose. Upon first boot the user is allowed to set the root password. It takes about 10 minutes to install and retains the default "dsl" user settings as customized in the live CD environment.
System and software
Damn Small Linux uses Fluxbox as its default desktop environment, but Joe's Window Manager is included as well. DFM is the main file manager, and it provides icons on the desktop for /home, other directories, and even applicatons (through links in a directory). It seems primitive at first, but it contains many of the features one expects from a window manager, such as settings for the wallpaper, desktop and DFM fonts, and window and icon background colors. From the DFM right-click menu I could mount my other partitions and removable media as well.
Damn Small Linux comes with many system tools and setup configurations. Many are simple graphical utilities. Some are bash scripts executed in a terminal emulator. All assist users in setting up their systems. Anything you would expect to be able to adjust in an operating system is there, such as screen resolution, printer configuration, various Internet connection options, date and time, system stats and information, software repositories, backup features, server enablers, cron jobs, and more.
Damn Small Linux includes a few small applications to get you started. xzgv, xpaint, and xzoom populate the Graphics menu. Ted Word Processor, Stag Spreadsheet, PDF Viewer, MS Word Viewer, a calendar, a calculator, SQLite, a personal information manager, and a Net dictionary are under the Office menu. XMMS, Dmix, and gPhone are listed in the Sound menu. Some Net applications include Firefox 1.0.6, Dillo, Netrik, Sylpheed, SMBclient, VNCviewer, AxY FTP, Microcom, and Telnet. Tools include Emelfm, MyDSL CD Remaster, a CD burner, and dfmext GUI. Several games are also included.
There are lots of other applications listed for installation in the MyDSL extension, DSL's software installer. Some categories include Multimedia, Net, Games, and even Themes. Though hundreds of applications are available, many are very old versions -- for example, OpenOffice.org 1.1.4, the GIMP 1.2, and GCC 1.95. I noticed that the proprietary graphic drivers haven't been updated for the current kernel either.
In addition, Damn Small Linux offers larger applications in Universal Compressed ISO format. These are ISO 9660 images that can be mounted as filesystems in order to reduce memory usage. Firefox 1.5 and 2.0, OpenOffice.org 2.0, NVU, and Blender are among the applications available.
Interestingly, Debian's Advanced Packaging Tool is included as well. In the menu there is a link to Enable Apt that opens a terminal window to update the local APT repositories database. You can then use apt-get to upgrade your Damn Small Linux OS into a current full Debian install.
It's amazing the all the functionality squeezed into such a small system. There are applications for just about any purpose, and the system tools work well with supported hardware. Damn Small Linux is extremely fast and stable. You won't find any fancy visual effects, just good old-fashioned productivity.
Damn Small Linux is extraordinary in that it offers so much in such a tiny package. However, as hardware becomes obsolete and new hardware takes its place, Damn Small Linux is falling further behind the curve. It's dropping support for vital parts of extremely old hardware, as I found with my Dell XPiCD, while not supporting newer hardware, so fewer people are going to be able to use this release of Damn Small Linux, and that trend will worsen as time passes if the developers don't widen their hardware support and bring their applications more up-to-date.
I still like Damn Small Linux, but I'm disappointed that I'm able to use it less and less as I'm forced to upgrade my hardware. Since this release brings an updated system, application changes, and some minor cosmetic improvements, those with supported hardware and diehard fans won't be displeased. But those whose hardware depends on newer kernel support will likely be disappointed too.