My parents had inculcated some ideals in me when I was growing up and one of them was not to use swear words come what may. Which meant even if a guy was to come and box my snout, I would have said - "That was a despicable thing to do Old Fruit" or something on those lines. But things changed when I downloaded and tried a very cute distribution called DSL - short for Damn Small Linux (oops! I said it).

DSL was created by John Andrews whose main motive was to restrict the size of the resulting distribution but at the same time give a complete GUI environment which included all the softwares that a user might use on a day-to-day basis. He made sure that what ever softwares that are needed were included as long as the size of the resulting distribution could be restricted to just 50 MB. The result is what you see as Damn Small Linux.

Tiny Linux distributions are nothing new. In fact, the tiniest Linux distribution (Tomsrtbt) fits inside a floppy and has been around quite some time. But what is unique about DSL is that it is one of the first distribution which contains a GUI environment contained in its small size and targeted at the ordinary user. Also unlike its other counter parts, it is actively maintained by its creator.

DSL can be downloaded in three formats. They are as follows:

dsl-2.0RC2.iso - Which can be downloaded by all who have a fairly modern PC and who intend to use it as a Live distribution.

dsl-2.0RC2-syslinux.iso - This ISO image can be used by people who intend to run DSL in older machines.

dsl-2.0RC2-embedded.zip - This is the most unique in that it can be run from a windows environment. And is ideal if you want to install DSL in a USB key drive for instance.

I downloaded the embedded zip file and tried it in both Windows and Linux environment (See screen shots below). DSL uses Linux kernel 2.4.31 and according to the DSL team, they have opted out of using kernel 2.6 because of its bigger size and also their aim to support even very old hardwares which 2.6 doesn't.

Fig: DSL running inside WindowsXP

Fig: DSL running inside Fedora. A game of tetris in progress inside DSL

DSL harnesses the power of QEMU

DSL relies on QEMU to run on top of the host OS (whether it be Windows or Linux). QEMU is an open source cross-platform emulator for Linux hosts. It allows you to emulate a number of hardware architectures (x86, x86-64, and PowerPC are currently known to work, with others, including SPARC and MIPS, in development). QEMU thereby lets you run another operating system on top of your existing OS.

Useful Softwares bundled in DSL

Web browser - In fact 3 web browsers - Firefox 1.09, Dillo and Links.

Email Client - Sylpheed.

Spreadsheet - Siag.

Word processor - Believe it or not, DSL comes bundled with a word processor (FLWriter). It even has an MSWord Viewer to view your DOC files.

DSL gives the user a choice of two window managers. By default it runs Fluxbox which is a light weight window manager. The other window manager being JWM. I have been using fluxbox as my window manager in Linux for quite some time. So I felt right at home the first time I tried DSL.

Stress given to user friendliness

Another aspect of DSL I found fascinating (especially considering its tiny size) was the stress given to usability. All aspects of configuration, which includes wireless network, mouse, keyboard, printer setup and most other services can be achieved via the DSL (Control) Panel.

Fig: DSL Control Panel

There is something for system administrators too.DSL comes with the following servers:

Web Server - Monkey Web server

SSH Server

FTP Server - BetaFTPd

NFS Server

Fig: Screenshot of a HTML file hosted in Monkey Webserver in DSL

Uses of Damn Small Linux

By this time you might be wondering what is the use of this Damn thing (Pun intended). Right? Some of the uses I figured out for DSL are listed below:

Suppose you are visiting a Cyber Cafe for checking your mail and you are concerned about your privacy. By using Damn Small Linux on a USB key drive, you can circumvent the problem because all the cookies, browsing history and passwords you use are stored in your USB key and not in the host computer.

Your files will not be affected by viruses and worms that are residing in the host computer because you are using Linux on top of the resident OS.

For a person more comfortable in working in Linux, DSL is god send because now he can work independent of the environment of the host computer.

Where ever you may go, you can take a working OS with you and is saved from being at the mercy of the applications residing in the computers you are using.

If you put your mind to it, I am sure you can come up with even more uses for this cute little distro.

Damn! damn! damn! I can't stop taking the 'damn' word since I tried DSL (Sorry dad). This distribution truly showcases the power of the GPL which made the DSL project a reality. I shudder to think of what would have been the case if there was no GNU movement.Update: Mr John Andrews the creator of DSL has clarified a point by posting a comment on this post which I have included here. I quote -

I just wanted to mention that DSL would not be half as fantastic as it is today without the tireless contributions from Robert Shingledecker. Everyone who enjoys DSL owes him thanks.

34
comments:

Sure. It should work on your 486 machine. But not via a USB key. You will have to install it on to the harddisk. But it will be interesting to know the extent to which a 486 hardware is detected by DSL.

Hey, good you see DSL getting more attention. I've used it on and off since an early version, and can attest to the helpfulness of it's contributors and the fanatacism of it's users.

I've since moved to a dual Ubuntu/XP setup ('cause I'm lazy) but I found DSL to be a lifesaver on my typically old hardware. Try it loaded into RAM - it flies ('toram' option on boot)!

It's probably worth a mention that if you're running something less than a Cray anything run through QEMU will run like a dog. I can't fault QEMU, it really does a great job, but emulation just plain hurts.

BTW, I like your site. It gives a nice broad yet useful coverage of linux topics. It's probably my second or third most visited blogroll/feed site.

Ben, Yes toram is a very good option for people having around 512 MB memory.

But I would like to differ with your QEMU opinion. I was able to run DSL inside windows using QEMU and it worked quite smoothly. I wouldn't say it was blazingly fast, but it didn't show any perseptible difference. It is a pentium IV machine but has just 256 MB DDR RAM.

There is also Puppy Linux, which is only a little bigger than DSL (but smaller than Feather) and comes with AbiWord and Gnumeric. It can be run completely 'toram' or can install a file on your HD to save your settings and install additional software (Scribus is among the applications available).

DSL might be a suitable choice for your old 486, depending on the hardware configuration and what you want to do, but it's not the only possibility. I have Libranet 2.7 running on mine, and I've successfully tested stock Debian 3.1. One thing a 486 will benefit from is a custom kernel; it speeded up mine considerably and freed up some RAM.

I agree with the person posting about Puppy Linux. If you need a small emergency disk for recovery purposes or to provide emergency access (or that will fit on a business card CD-R, the original target), then DSL is excellent. If you're looking for a lightweight fast distro that actually has enough tools to get more things done, Puppy will save you much grief.

Nice review. One thing you didn't mention was the "MyDSL" repository of software available. There is a ton of extra apps that are easily downloadable with a couple of clicks, even when running the live CD.

I have a couple of little issues with DSL. I can't seem to figure out how to change the mouse speed, and I can't seem to change the 60hz video so it flickers a bit on my hardware.

I've installed it onto a USB key but my PCs can't seem to boot from USB. I have not tried to run it under another OS.

Puppy seems to run on only about half the hardware of DSL, the reason why it has more apps is because it lacks many critical moduals. Also, Puppy runs as ROOT and taps into the user's hard drive without asking!

i downloaded dsl 1.5, burned it to cd, booted up, and it runs very well....picked up my wireless card via prism2 in the control panel...BUT, a couple things....

being so used to windows file manager, i am having trouble figuring out the file structure and what do you use in dsl to view all the files, including the windows ones underneath, if that is possible....

second, i downloaded the dsl 2.0 last nite, burned to cd, booted up, THIS ONE DOESNT SEE MY WIRELESS CARD, despite my best efforts....i can swap out the dsl 1.5 cd and reboot, and bam, right on the net again....what kind of goofy change is that????

am i missing a step?

chubby puppy linux works great, i love that as a bootable as well, and im on the net and flying with that, but im willing to experiment and would love to get 2.0 up and running on the internet...

Throughly clever and ingenious distro. I discovered it by accident. Recently, I downloaded the free VMware Player and several of the prebuilt virtual machines on the VMware site. DSL was one of the offerings. I was astonished-- everything you need is there. I looked at memory sticks tonight so I can carry DSL around in my pocket.

I downloaded dsl 2.1 and it worked fine on my old computer where everything is connected by PS2, by when I boot the OS on my new computer, which has everything connected by USB the linux doesn't work, and when going in to the Linux, the mouse and the keyboard isn't reponsive, and the only thing i can do it restart computer, i thought DSL 2.1 comes with USB support in defaulthelp

I got an old HP-machine from my girlfriend. It has 63MB ram and 400Mhz processor. I thought that nothing would ever work on it. Tried to install debian and ubuntu and xubuntu, but not one of them installed properly. Then I heard of DSL, and tried it out, and voilá, there it was. A cool desktop environment on that crappy old machine. :)The only problem is that I cannot seem to connect to the internet. ifconfig says that it gets an ip and all, but... Dunno, I have to investigate further.Anyways, this is something to try out...