From the Canyon Edge -- :-Dustin

Thursday, November 12, 2009

Introducing Testdrive!

I'm pleased to introduce a new package I have created for Ubuntu called testdrive!

Testdrive makes it simple to run any Ubuntu release in a virtual machine, safely, and without affecting your current Ubuntu installation.

This is a great way to "try out" the Ubuntu release beyond your current version, before upgrading. For example, if you're still running Ubuntu 9.04, you could testdrive Ubuntu 9.10 before committing to the upgrade.

You could also testdrive a different flavor of Ubuntu, such as Xubuntu, Kubuntu, Netbook Remix, or the Ubuntu Server. This is great way of learning more about the Ubuntu galaxy, as well as introducing yourself, to the wide world of virtualization in Ubuntu.

I expect that testdrive will be very useful to Ubuntu developers, testers, and bug triagers during the Lucid development cycle, as these people will be able to test Lucid's daily ISOs throughout the cycle, and in particular at the release milestones for ISO-acceptance-testing.


Testdrive can use either KVM or VirtualBox to host the virtual machine. You should have either one of these installed on your system. If you're using KVM, you need to have at least kvm-84, which is available in hardy-backports, intrepid-backports, jaunty, and karmic.

You should also have enough disk space available in your home directory to store one or more ISOs, roughly a 1 GB or so.

Installing Testdrive

To install testdrive:

Running Testdrive

To run testdrive from the command line, you just need to provide the URL to an ISO that you want to test. This can be an http, ftp, rsync, or file style URL. The ISO itself will be cached in your ~/.cache/testdrive directory, such that subsequent runs will only need to perform incremental downloads.

From the command line you could do something like the following:

testdrive -u rsync://
testdrive -u

You can also add some other configuration details in your own ~/.testdriverc file. Simply copy /etc/testdriverc to ~/.testdriverc and edit as you like. Once you have done so, you can simply launch testdrive from the menu, with:
  • Applications -> System Tools -> Test Drive and Ubuntu ISO


Rick Spencer, Manager of the Ubuntu Desktop Team, has used quickly to draft a GTK front-end for testdrive. Hopefully, testdrive-gtk will make it into the archive for Lucid soon, and provide a nice, pointy/clicky way of choosing the Ubuntu release you'd like to testdrive.


I'm giving a plenary talk at the Ubuntu Developer Summit in Dallas, Texas next week, where I plan to demo testdrive, as one example of what we can do with KVM and Virtualization in Ubuntu. If you have been reluctant to try Ubuntu Virtualization, testdrive is a really easy way to get started!



  1. Interesting. It might be useful for bug reports where you get a hapless triager requesting you try again on development branch. But the big worry between Ubuntu revisions is hardware support and emulators won't successfully exercise this.

  2. Sounds great, but what broke for me was sound in games (so PA being horrible again. and still is, I have yet to fix the problem).

    I don't think this will cover my case for future upgrades :(

  3. the easy way to install ppa's is
    sudo add-apt-repository ppa:testdrive/ppa
    sudo apt-get update

  4. Nice! Although, the hardware specific bugs (PCI, ethernet, graphic cards, etc) only can be tested with real installations, but well for the other gazillion of bugs it a real option!

  5. issues with 64bit linux:

    update-rc.d: warning: qemu-kvm stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (1)
    * Loading kvm module kvm_intel FATAL: Error inserting kvm_intel (/lib/modules/2.6.31-14-generic/kernel/arch/x86/kvm/kvm-intel.ko): Operation not supported
    invoke-rc.d: initscript qemu-kvm, action "start" failed.

  6. Not as if it matters much, but also has a key-feature called TestDrive.


Please do not use blog comments for support requests! Blog comments do not scale well to this effect.

Instead, please use Launchpad for Bugs and StackExchange for Questions.