For some of the things I would like to do with the EBN code-quality checking machine -- things outside the immediate realm of quality checking -- I need some VMs beyond what FreeBSD's jails give me.

In particular, I need Solaris running on the machine as well as FreeBSD, so I looked into VirtualBox. I've used it on Solaris for various purposes (including running FreeBSD) so it seemed appropriate. There's no binary version of VirtualBox for FreeBSD, but you can compile the Open Source Edition from ports, so that's what I did. The results -- missing USB passthrough and no RDP -- are things I can live with, as it just means I'll do most of my work on the VMs through ssh.

Installation (of VirtualBox OSE 3.1.6) is pretty non-eventful, the remember-to-load-the-kernel-driver reminder at the end of installation useful, and it just works.

For testing purposes and to satisfy some curiosity on my part I decided to install the Maemo development environment provided by Nokia (hey, maybe I'll write my first GTK+ program like that). This turns out to be a VMDK (VMWare) file, not a OVF file, so a little bit of fiddling about was necessary. There are installer scripts available with lots of disclaimers for VBox 2, but none for version 3. So I tweaked and twiddled a little, and ended up with this installer script that calls VBoxManage a bunch of times to set up the machine. This is largely cribbed from Nokia's script, adapted for new syntax in version 3.

One thing to note here is the invocation with --usb on. That could be combined with other calls to VBoxManage, but since the OSE has no USB passthrough, this will fail. For those using the non-OSE version, the call will succeed. Run the script with either --add or --remove from the directory containing the .vmdk file and it'll set things up or tear them down.

In the resulting VM I haven't gotten any further than starting esbox and quitting it again -- but it shows that the VM works, that the apps work. I can ssh in for whatever command-line work I need to do.

The upshot -- after all, the Maemo dev environment is just an experiment -- is that a Solaris VM will happen real soon now. I was hoping for something jeos-like, but I hear that the people responsible for that have left Oracle now (this looks like a common theme: all the nifty Open Source but non-revenue projects are bailing out). So I'll have to find another means of installing a fairly-minimal OpenSolaris version into the VM (which, thanks to Jignesh, is a matter of VBoxManage import). For my purposes no X is needed, so that saves us at least one (if not two) desktop environments in the disk image.

Credits where credit is due: to Jignesh Shah for the OSOL image and to Miwi for not only porting KDE4 to FreeBSD but also acting as source of information for VirtualBox.