Tiny Core: Ultralight DIY distribution
When reviewing a lightweight distribution, the term Swiss Army knife is sometimes employed to indicate that it's packed with features despite a diminutive size. However, at 11MB for the ISO, Tiny Core is more of a blank-slate distribution, as when booted from a CDROM or a USB stick, it presents the user with a simple desktop consisting merely of a task launcher and a package manager. It contains some good ideas and it's already perfectly usable, but I think it needs a few more refinements in order to become great.
Tiny Core can be installed to a HD like a traditional distribution but the process is relatively complicated and not the main focus. Instead, a typical Tiny Core installation would be portable and booted from a device such as a memory stick. The end result is a kiosk-like environment.
When booting the base install ISO, once you get over the speed at which it loads up, the next surprise is the sparseness of the desktop. At the bottom of the screen there is a zooming application bar with four icons that correspond to the package manager (called App Browser), a command line terminal, a link to the GUI for the custom utility scripts and a power button to shut the system down.
Launching App Browser, one can't help but be impressed by the thousands of packages in the repository. The packages use a custom format and range from major applications such as Firefox and OpenOffice to tools and system components such as the GParted drive partitioning tool and the ALSA Linux sound system. By default, nothing you do is persistent as everything operates from a RAM disk.
App Browser works well and the package list is impressive.
Feeling unimaginative, I had a go at installing Firefox 3. App Browser got to work, fetching and installing the Firefox package along with all of its dependencies, and after about two minutes, a Firefox icon appeared on the application launcher bar. Firefox loaded very swiftly and worked as expected. I was impressed. The system also comes with some GUI tools that launch the configuration scripts for customisation of things such as the language settings and the X display mode.
After the initial experiments with the ISO, the first thing that most people are going to want to do with Tiny Core, is to install it to a USB stick and begin to customise it. Unfortunately, this is the point at which the relative weaknesses of the distribution begin to show. Most of the system is extremely intuitive, but the actual installation and configuration lacks polish and involves a considerable change of approach as it means leaving the GUI tools and hitting both the command line and the rather fragmented documentation on the website.
The distribution has a number of modes that govern the persistence of the installed applications and that of the user file area and home much of the system is run from the RAM disk. For example, some installation scenarios might require a setup where the applications stay in place after each reboot but that the /home directory is never committed to disk. However, how you actually select between these modes is buried in a somewhat disjointed body of documentation that is split between guides linked to on the main website, the forum, the FAQ and the wiki. The wiki is extensively populated, but like most wikis, to get the best of it, you have to have an idea of what you're searching for. It's a shame, as the front page of the website links to some useful step-by-step guides aimed at the Tiny Core newcomer, that even take the time to explain things like how to burn an ISO to a CDROM. The end result is that the most complicated part of using the distribution is the least well documented.
Most people having a go with Tiny Core will see the potential for fashioning lightweight kiosk-like installations while marvelling at how efficient and flexible Linux can be. Unfortunately, to live it up to its full promise, in my opinion, it needs more comprehensive documentation and the GUI setup tools need to be extended to handle the installation and selection of operational mode. If the devs could pull this off, Tiny Core would be accessible to people who aren't Linux experts. As it stands, the level of expertise required to put together a complete system means some might decide to customise a more conventional distribution rather than using Tiny Core.
The Tiny Core website