Lately, I've been tinkering around with my old PC laptop, trying to get a Linux distribution reinstalled on it. This laptop — an ugly duckling brother to my sleek PowerBook — has had a bit of a checkered past. I originally got it when I was short of money and couldn't afford an Apple laptop. It was a cheap generic machine from Digital Networks, but came with Linux (Red Hat) pre-installed instead of Windows. I used it as my main work machine for some time until my work bought me a PowerBook. In the process, I learned a heck of a lot about Unix which stood me in very good stead for using the new MacOS X Cheetah (or whatever felid it was then).
Ugly Laptop languished in a cupboard, and only came out occasionally for me to try something out. At a particular low point in its (and my life), Ugly Laptop was reformatted and had Windows XP installed on it. I had a horrible deadline, and my copy of Word had become completely unusable for collaborative editing. This emergency procedure was so that I could use Word for Windows until the crisis passed. I really couldn't be bothered to download all the patches and updates necessary to prevent a Windows machine from becoming a spammer's zombie, so I never connected it to the network.
Now there's a possibility that I might do some collaborative work with someone that would require using some custom software only available on Linux (it hasn't been ported to MacOS X yet), and I thought that I'd have another go at installing a new distribution. The Linux kernel and window managers like KDE and Gnome have come on enormously in the time that I've been away, so I was curious to see what the current Linux experience is like.
First, I tried Ubuntu. This has a great philosophy, and has got some good reviews as an easy distribution to install and keep updated (it's based on Debian). However, there must have been some hardware incompatibility somewhere along the line with my video card, and I never got as far as intstalling it — I could hear that hard drive activity was going on, but a totally blank screen makes it hard to choose the right options. The same thing also happened from the LiveCD that they produce, so something in their distribution just doesn't like Ugly Laptop.
I then tried Gentoo. This has a reputation to be difficult to install, but extremely flexible. It has a great package management system, and the install itself is the minimum necessary so that end up with only what you want, rather than what the distribution makers think you want. There are no graphical installers here; you have to do the whole thing from the command line, albeit one that's very prettily decorated. You boot from a LiveCD, format your discs, download the kernel, compile it, bootstrap things, chroot and do all manner of other incomprehensible things. However, the installation manual is brilliantly written, and doing all this stuff — even for a newbie — is just a matter of following the clear directions. I used all the default options and managed (after a a few minor snags) to get the kernel installed and booted. I then tried to install X (to actually run graphical applications rather than just console-based ones), Gnome and a few other things. Each time I tried it, the installation got so far and then I got a kernel panic. I'm sure that I could probably have sorted out the problem with time by compiling my own kernel, but I had already spent an entire Saturday getting this far, and I didn't feel like starting again.
Finally — and I realise that this is beginning to sound like a geeky version of Goldilocks and the Three Bears — I stumbled on Slax. Slax is unusual because it only runs from a LiveCD, but you can save files to the disc and also save your configuration of the system to be automatically loaded next time you boot. It's really tiny (only 180MB), and yet runs KDE and even KOffice. Slax is based on Slackware Linux, and it's fairly easy to convert Slackware packages to Slax modules which can then be easily installed (or added to the CD to make a custom installation) to extend the range of applications available.
The whole process was absurdly simple. You download an *.iso image of the LiveCD and burn it to a CD (it even fits on one of those dinky little 8cm CDs). Then, you put the CD in the drive and reboot your computer. When you get the boot prompt, you can add a few commands of your own (for example to run Slax from RAM to speed it up), or just hit Enter to accept the defaults. You run it as root, so after you've got a login prompt, you log in as root, then type
gui to launch the default KDE window manager, or
guifast to launch fluxbox as the window manager. And that's it. It mounts your hard drive partitions, floppy drive, CDROM and even your USB flash drive under
/mnt, so you can save files wherever you want. You can even set it up to boot from a USB flash drive and save your configuration on that too. That way, you could walk around with an entire Linux system on your keyring, and just plug it any PC you can boot from USB flash drives.
It auto-detected the DHCP server running on my Airport basestation and set up networking automatically, mounted my USB flash memory, and even set up my USB wheelmouse properly — it seems that all you have to do is have everything plugged in when you boot Slax. It's incredibly impressive. Sure, it doesn't have the flexibility of Gentoo, but it takes five minutes to get it running and if you decide you don't like it, there's nothing to uninstall — a perfect solution for those of us who want to tinker or walk around with a Linux OS in our pocket.