USB ‘thumb’ (or ‘pen’) drives are one of those low-profile technological developments that you mostly don’t give much thought to; but when you do you realise just how amazing they are. Back in 1989 I bought my first 20GB hard-drive for my first PC The drive was big (perhaps a bit bigger than a video-cassette box), heavy and relatively fragile (if you were going to move the PC you had to remember to manually park the drive heads before powering-down). It cost over ?200. Today I can pay ?25 for a 500MB thumb drive that weighs essentially nothing and can live quite happily in the hostile environment of my work bag. Pretty maazing, when you think about it. Which I usually don’t.
A few days ago, while on the train home from work, I was reading an article about how to install Linux on a thumb drive: the idea being that you can carry around a fully-configured system in your pocket for those inconvenient times when you don’t have access to your usual PC. Just find any old PC, plug-in the thumb drive, reboot, and (assuming the bios can handle it) the system boots the OS on the thumb drive rather than the one on the hard drive. I thought that this was moderately interesting but nothing that special. As it happened, I’d spent a large part of the day (the part I get paid for) running tests on a client-server system where the clients and server were each running on virtual machines using VMware. VMWare is another piece of technology that I keep forgetting to remember is deeply impressive. It essentially allows you to run multiple copies of Windows (or Linux) on the same machine at the same time. Each ‘guest’ machine thinks it is a real PC, and can access network resources via the real host PC.
So I thought, booting from thumb drives is all very well, but what I really want is something like WMware that lets me run a guest OS from a thumb drive without rebooting. That way I don’t have to disturb the guest PC (which, in say a cyber-cafe, may be locked-down to prevent reboots). At first i thought one of the ‘live cd‘ Linux distributions might do this, but it turned-out they all require a reboot.
Then I found something remarkable: the Embedded version of Damn Small Linux. DSL is a small-footprint (50MB max) Linux distro that can boot from CD, and very good it is too. But the magic is in the Embedded version. This is essentially a pre-configured copy of DSL that runs in an open-source, VMware-like virtualisation system called Qemu. Unzip DSL Embedded onto a thumb drive (or a hard-drive folder), run a batch file (no installation needed), and Damn Small Linux boots-up inside its own window. After a bit of grinding an X11-based desktop appears. If the host PC is on a DHCP-enabled hetwork then the Linux machine acquires its own IP address and you can access the net using the pre-installed browser (Firefox), email and ftp apps. Clients for vnc and terminal services are included, and I easily logged-into my home server.
This, my friends, is very, very cool. And since it is also very, very free, I urge you to try it. I couldn’t find the Embedded version on the DSL download page, but you can get it from ibiblio here (53MB).
I’m going to play with this and see what it can do. First-up is to get Open VPN working so that I can tunnel into my home network. Watch this space!