Mike Levin SEO

Future-proof your technology-skills with Linux, Python, vim & git... and me!

Keychain PC Linux

by Mike Levin SEO & Datamaster, 12/06/2005

Note: For anyone finding this super-ancient article, the page you really want to be visiting about Linux on a USB keychain is Levinux, my tiny virtual Linux that requires no install, and runs with a double-click from Windows, Mac or other Linux’s.

OK, I actually bought my 1GB USB keychain drive. I chose the SanDisk Cruzer Micro mostly because it’s tiny, and it’s what BestBuy had in stock when I stopped in the store. I shelled out just over $100 for this, but it’s very tiny. But unfortunately, it’s just a little too tiny for the Browser Appliance Virtual Machine (BAVM) distributed by VMWare. It missed by just about 100MB, and only on the vmem (virtual memory) file. If I knew more about tweaking these files or was working off of VMWare Workstation instead of the free player, I could have probably tweaked these files down just a bit and had a killer distribution of Linux/Gnome running off of a keychain.

But since it didn’t fit, I continued my research and remembered a comment by Brent Ashley on my blog from when I was contemplating slackware for this purpose. He recommended Damn Small Linux DSL for this purpose, which even claims to run directly from Windows without the aid of VMWare, in a version they call “embedded”. There’s a virtualization product called QEMU, which is free and open source, which does away with the need for the VMWare player or even doing a software install on the host PC. So, it’s now a question of which is faster and has the features I need (easy networking). I download a file called dsl-2.0-vmx.zip, which is apparently DSL ready-made in a VMWare. I’m also downloading the Embedded version, which allegedly uses QEMU, to see which I like more.

The USB drive also turns out to be U3 compatible, meaning specially prepared applications can be installed directly onto it. Well, now applications can move with, and be run from your USB keychain without having to install anything on the host PC. QEMU doesn’t need this as it runs wholly out of its own directory. VMPlayer would greatly benefit, turning it into a fully self-contained PC on a keychain solution.

But the good news is that DSL is so small that even after uncompressed, the Embedded version is 107 MB, and the VMWare version is 48 MB! You could easily fit both onto the keychain—plus the free VMPlayer install, which is exactly what I’m doing for now for experimentation. I’m not doing any sort of scientific benchmarking, but it’s pretty clear that the VMWare virtualization is significantly faster (at least in mouse responsiveness) than QEMU. They both came up with networking immediately working. Firefox was much quicker in pulling up webpages under VMWare.

Since I stared writing this, I have already been home and back to work and got to try out the suspend and resume between different PCs. I get the warning that the host PC hardware is different, and the system may be unpredictable. I selected OK, and the network connection was (predictably) gone. I could have done an IP release and renew if I knew how to do that under Linux. But instead, I just did a restart, which seemed to solve my issues. Point is, that even with a cool keychain solution like this, it may be best to shut down the virtual PC between plug-in sessions for the most stable performance.

Anyone following along would do well to remember the Ctrl + Alt key combination to get your mouse pointer back from VMWare. Without knowing Linux much yet, I’m reading the DSL-provided Dillo documentation (whatever that stands for). I’m immediately following the instructions for greater GNU/Linux & Debian compatibility. But there is some question as to whether the installs are taking place on the USB device, or whether the entire system isn’t actually running out of a volatile RAM disk, since it’s based on the KNOPPIX release, intended to boot from CD-ROMs. I think one of my objectives will be to figure this out and install Open Office. I wonder if it is possible without doing a “build” that is always talked about with Linux.