matplotlib on a ubuntu linux vm on a WinXP host on a USB drive

This is cool.

About 18 months ago, I wanted, for various reasons, a linux that I could boot from an external USB drive. I never got that to work despite hours of tinkering with initrd in various distros. This might be better:

VMware ( http://www.vmware.com/ ) sells a product that makes virtual machines that run on WinXP and linux. For free, they make available VMware Player, an app that runs the VMs once constructed (kinda like Adobe Acrobat / Acrobat Reader). However, they maintain a collection of Really Useful preconfigured VMs ( http://www.vmware.com/vmtn/vm/ ) ready to go.

The demo is "Browser Appliance", a VM running Ubuntu Linux, preconfigured for web browsing with firefox. I installed that, and, wow, I got what appears to be a full-featured ubuntu VM. Running in full screen mode, it appears to be indistinguishable from a conventional linux installation... but it's not. It's in a VM on an XP host. XP is still running, and I can still use all the XP stuff.

But this ubuntu VM appears to run perfectly. It just works. On my T41 Thinkpad (Centrino) it finds and uses that pesky Centrino wireless device, with no effort on my part. I fired up the Synaptic Package Manager and starting adding packages. No sweat. I downloaded the matplotlib sources. (after grabbing gcc, etc) A couple of symbolic links, and a few tweaks of setup.py and matplotlibrc, and bingo! it compiles. And works!

The VM and its memory etc etc live in WinXP files on the WinXP file system. So I plug in an external USB drive (fat32 for historical reasons) and copy the VM files over there. Shoot... the dang thing just works.

As far as I can tell, I have a fully functional ubuntu on my external USB drive. I'm in the process of stressing the system in various ways, and so far, everything works. Haven't tried printing, yet. There's no obvious way to mount the WinXP file system, although I ran across a reference that says Samba works for communication to the host. Haven't tried it.

I had *no* (as in *zero*) problems installing it and getting it to work. It's *never* this easy. One thing I'm not sure of: speed. But it is not obviously slower than a native installation. None of the software installations or the compiling went noticibly slower than expected.

The irony is that I don't think I need it anymore.

-gary