Using the Drupal Quickstart-0.9.1 development environment in vmware Fusion

The Drupal Quickstart project is a prepackaged Drupal development environment based on a VirtualBox virtual machine running Ubuntu. It’s provided as a portable “Open Virtual Appliance” .ova file.

So if like me you already run vmware Fusion on OSX and have no intention of running VirtualBox alongside too, it should be possible to use Quickstart in Fusion. This, it turns out, is slightly less easy than expected.

I can help.

You need to convert the .ova with a command line tool provided by vmware called ‘ovftool’. This is supplied in the full installer of Fusion 3.1. You can check if you have ovftool by opening Terminal.app and doing:

ls -al "/Library/Application Support/VMware Fusion"

If there’s an ovftool directory you can move on, if not head over to vmware and download the 436MB installer that includes McAfee, as described in detail by BUNCHC.

After you’ve reinstalled, or if you have ovftool installed already, you still need to get ovftool working, daemonchild details that, but ovftool is now at version two so we modify his commands to these:

cd "/Library/Application Support/VMware Fusion/ovftool"
sudo mkdir /usr/local/bin/ovftool2.0
sudo cp -R * /usr/local/bin/ovftool2.0
sudo ln -s /usr/local/bin/ovftool2.0/ovftool /usr/local/bin/ovftool

To verify that ovftool is working try:

ovftool --help

Once we have ovftool installed and working we can attempt the actual conversion. To cut a long story short we need to untar the .ova:

tar xf "Quickstart 0.9.1.ova"

Giving us the .vmdk disk image and .ovf xml file:

Quickstart 0.9.1.ovf
Quickstart 0.9.1-disk1.vmdk

Then edit the .ovf to change the hard drive driver type (hat tip to lausser for showing how), by changing the section starting at line 66 to read:

<Item>
  <rasd:Address>0</rasd:Address>
  <rasd:Caption>sataController0</rasd:Caption>
  <rasd:Description>SCSI Controller</rasd:Description>
  <rasd:ElementName>SCSI Controller 0</rasd:ElementName>
  <rasd:InstanceID>5</rasd:InstanceID>
  <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
  <rasd:ResourceType>6</rasd:ResourceType>
</Item>

Below, I’ve attached a diff of the .ovf file if you prefer to use that.

Download diff.

Now we’re ready to carry out the actual conversion, you’ll need to alter the paths in this command to suit the location of the quickstart .ovf and the destination for the .vmx:

ovftool --lax -st=OVF -tt=VMX file://quickstart-vbox/Quickstart\ 0.9.1.ovf Quickstart-0.9.1.vmx

You should see some warnings, but the conversion will progress with a percentage indicator as it works though the vmdk file. The end result will be two files, a large Quickstart-0.9.1-disk1.vmdk file, and a smaller Quickstart-0.9.1.vmx file. Double click on the vmx file to have it open in Fusion and boot the vm.

When it’s running you’ll have some tweaking to do. Start by installing the vmware tools, and uninstalling the virtualbox additions (I uninstalled three packages with the synaptic package manager: virtualbox-ose-guest-dkms, virtualbox-ose-guest-x11 and virtualbox-ose-guest-utils). With that done you can shut down the vm and alter it’s Fusion settings. I increased the RAM and added a sound device.

I already have my own development vm setup, so I’m looking to use Quickstart to finally learn how to do proper profiling with xdebug. But I’m impressed with the work that’s already gone into Quickstart, so a big thank you to Michael Cole and anyone that’s provided patches. Happy Drupal developing!