Those of us who use Linux have our own favoured distributions that we're familiar with and often see no reason to change - for instance my main Linux box is currently running Fedora Core 13. It (and its predecessors) have been running Fedora for many years. However, when we look at repurposing a thin client, all sorts of constraints start to kick in which will usually kick out the main stream desktop (or server) distributions. Whilst we could roll our own flavour of Linux there is a lot to be said in using one of the many standard distributions that exist out there - others have already done the hardwork! All we might need to do later on is to rebuild the kernel so that it is a better match for our hardware without all the extra drivers etc that are necessary for a general distribution.
The constraints we have are:
|Age||Cheap Thin Clients are generally old. Whilst there is absolutely nothing wrong with them they have passed their commercial 'use by' date and so have been retired. A primary driver is that the manufacturers have new models to sell and have pulled the support on the oldest models. Similarly the latest Linux kernels may have dropped support for certain bits of old technology.|
|Grunt||The Thin Clients usually have low power processors. This is both in terms of power consumption and in terms of clock rate. They also usually lack the extended instruction sets of the current generation of CPUs - we're talking about i586 family, i386 or earlier. So we want to find a distribution that recognises this and uses a lean-and-mean approach.|
|Memory||If we're lucky we will be using a Thin Client where we can expand the memory so we can have 256MB or 512MB of RAM. However there are some Thin Clients where the RAM is fixed at 128MB or even 64MB. We need to be able to cope with this. Note: Whilst swap partitions are a way of making systems look as though they've got more physical memory than they actually have, they're only really suitable if you're running with a conventional hard disk. Swapping to/from [Compact] Flash is not a good idea.|
|Mass Storage||Whilst it is possible to fit small hard disks to Thin Clients we're generally looking at systems based on flash memory - either built in, on an IDE interface (DOM or Compact Flash) or a USB pen drive. Flash is what I call a 'read mostly' memory. Whilst you can write to it, it takes longer to write than to read, and, compared to say a hard disk, there are a finite number of write cycles that the media will support. The latter case means we can't necessarily just treat it as a hard disk replacement unless you're happy with the idea that it will stop working in a year or two (or less). The wear rate obviously depends on how you're using it. One final point in this area is the data transfer speed. IDE rates are fine, but they may not be so fine if you're planning on using a pen drive in a USB port. The USB ports on early Thin Clients are to the USB1.1 standard (12Mbit/sec) rather than the 480Mbit/s of the 2.0 version. The 12Mbit/s transfer rate is slow.|
Two Linux distributions that I have been using are Tiny Core and Damn Small Linux. These have their own individual characteristics but are designed to be small but expandable distributions that can be run in limited environments. For example Tiny Core is designed to run from RAM, so if you have a Thin Client with plenty of RAM, no IDE interface and a USB1.1 interface you might consider using it. It will be slow to boot thanks to the low bandwidth of the USB interface, but will be fine once it is loaded and running.
Tiny Core is apparently thriving - at the time of writing v3.0 has recently been released. (31st July 2010).
However the development of Damn Small Linux seems to have stalled although it still has many adherents. The last DSL release was 4.4.10 on November 18th, 2008.
By no means an exhaustive list! Use the link at the bottom to contact me if you know of another that is well suited to thin clients. Also the 'Other' tab above will take you to page that covers lightweight versions of the more mainstream distributions.
Not strictly a Linux distribution, but general information about getting Linux onto a pen drive.
As above - a utility for putting Linux distributions onto pen drives. I have had more success with the tool from here than with the USB installer tool from pendrivelinux.com.
Arch provides a minimal environment upon installation, (no GUI), compiled for i686/x86-64 architectures. (That actually makes it unsuitable for a old thin clients.) Arch is lightweight, flexible and simple. Its design philosophy and implementation make it easy to extend and mold into whatever kind of system you're building- from a minimalist console machine to the most grandiose and feature rich desktop environments available. Rather than tearing out unneeded and unwanted packages, Arch offers the power user the ability to build up from a minimal foundation without any defaults chosen for them. It is the user who decides what Arch Linux will be.
Relevant excerpts from the DSL home page....
Damn Small Linux is a very versatile 50MB mini desktop oriented Linux distribution.
Damn Small is small enough and smart enough to do the following things:
DSL has a nearly complete desktop, and a tiny core of command line tools. All applications are chosen with the best balance of functionality, size and speed. ....In our quest to save space and have a fully functional desktop we've made many GUI administration tools which are fast yet still easy to use.
Excerpts from the Puppy website:
How is Puppy Different?
"SliTaz is an open source and free operating system providing a fully featured desktop or server in less than 30 Mb. SliTaz is simple to use, fast and stable."
SliTaz stands for Simple Light Incredible Temporary Autonomous Zone.
As far as hardware is concerned:
"SliTaz GNU/Linux supports all machines based on the i486 or x86 Intel compatible processors. A minimum 192MB of memory is recommended to use the core LiveCD. 80MB is needed for the 'slitaz-loram' flavour and 16MB for the 'slitaz-loram-cdrom' flavour.
With the slitaz-loram flavour, the system is less responsive, but allows you to graphically install SliTaz on very old machines with limited resources. Once installed, SliTaz works well with a minimum of 16MB memory, but forget about using Firefox to surf the web - you'll have to use the text based 'links' for example."
Tiny Core Linux is a very small (10 MB) minimal Linux Desktop. It is based on Linux 2.6 kernel, Busybox, Tiny X, Fltk, and Jwm. The core runs entirely in ram and boots very quickly.
It is not a complete desktop nor is all hardware completely supported. It represents only the core needed to boot into a very minimal X desktop typically with wired internet access.
The user has complete control over which applications and/or additional hardware to have supported, be it for a desktop, a netbook, an appliance, or server, selectable by the user by installing additional applications from online repositories, or easily compiling most anything you desire using tools provided.
Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.
Well worth considering. You may learn a lot along the way and you'll end up with something specifically tailored for your hardware and applications.
Any comments? email me. Last update September 2010