qemu-kvm: call for testing

August 22, 2009

If you’re running Karmic and you use KVM, I’d appreciate your help testing the qemu-kvm package.

sudo apt-get install qemu-kvm

And then just use KVM as you normally do. Please file bugs at:



libvirt backport

July 14, 2009

A big thanks to everyone who has been testing the backport of Jaunty’s kvm-84 to Intrepid and Hardy.

I have backported a bit more of the virtualization stack from Jaunty to Intrepid and Hardy, namely:

  • libvirt 0.6.1

Packages are available in the ~ubuntu-virt PPA:

I’m hoping some of you out there might be willing and interested to do some testing on these new packages. They fix a couple of bugs for me, including installation of Windows guests on Hardy hosts.

Please raise issues and discuss problems in Launchpad and IRC, rather than comments below.


So the backport of KVM-84 to Hardy and Intrepid has been in the works since March, and we’re now rounding 3rd base.

I’ve produced a couple of release candidates and fixed a few remaining issues. Thank you to everyone who has tested these packages and provided feedback.

The final step before releasing the backport is to ensure that these latest changes get uploaded to jaunty-updates, such that the package is in sync among Hardy, Intrepid, and Jaunty.

One more call for testing…

So I’ve been working hard on this, and I’m at a point where I require assistance from the community. I get emails on a weekly basis from people asking for advice on getting involved in Ubuntu. Here’s your shot 😉

There is a package in jaunty-proposed that needs to be pushed to jaunty-updates before the Hardy and Intrepid backports can take place. In order to promote the package to jaunty-updates, I need users to verify that the new package fixes the four bugs that I think it fixes, and does not cause regressions.

Please, if you have a system running Jaunty + KVM, give the -proposed package a shot, and provide feedback in the following 4 bugs:


The Ubuntu Museum

July 8, 2009

Earlier today, Steve Langasek reminded us that Ubuntu 6.06 LTS (Dapper Drake) reaches its end of support on the desktop next week (July 14, 2009). I think it’s time for a little nostalgia!

As the maintainer of Ubuntu’s KVM package, I spend quite a bit of my time regression testing our virtualization stack (kvm, qemu, libvirt, virt-manager, etc). In doing so, I have constructed a massive archive of virtual machine images.

About 6 months ago, Jamie Strandboge and I kicked around the idea of creating a series of “Linux museums”, honoring our heritage by providing download-able virtual appliance images that could run under KVM. Jamie is currently working on something like this for Debian’s releases.

I’m pleased to introduce my contribution…The Ubuntu Museum! Here, you can find:

  • screenshots (png) of each Ubuntu desktop release
  • screencasts (mpeg) of each Ubuntu boot and shutdown sequence
  • virtual machine images (bzip2, qcow2) of each retired Ubuntu desktop release

The virtual machine images are:

  • default i386 desktop installations
  • with all packages updated to their final resting state
  • the username and password are both “ubuntu”

Obviously, these releases are completely unsupported and the images are provided for entertainment and educational purposes only!

Since I started using Ubuntu with the Breezy release, I found it quite educational to play around with Warty and Hoary–a bit of Ubuntu history I was missing. It is interesting to see the evolution of the artwork and color schemes. I find some strange satisfaction hitting a few old, memorable bugs and then thinking “boy am I glad we fixed that!” It is also pretty cool to see how much we’ve improved startup and shutdown times.

I recently attended an excellent presentation by Colin Watson on the history of the Debian and Ubuntu installers. He made the point that it’s important to know where we’ve been, when we’re trying to figure out where we’re going.

Hopefully some of you will enjoy this trip down memory lane and perhaps learn something too!


At UDS Karmic, we discussed providing daily builds of pristine upstream projects.

Specifically, I implemented this for the key virtualization packages, per https://blueprints.launchpad.net/ubuntu/+spec/server-karmic-pristine-daily-virt-builds:

  • qemu
  • qemu-kvm
  • libvirt

Ubuntu users are often running some version of the project older than the current development branch, it’s more interesting to know if the user can reproduce the bug on the latest development sources.

I have constructed some automation that builds Debian/Ubuntu binaries for amd64, i386, and lpia platforms directly from your master git repositories every day at 11:00 UTC, and publishes them in a special, opt-in repository. These daily builds also drop any specific patches we may be carrying, in order to minimize the delta between the binaries built and your upstream sources.

Additionally, this tool also has the ability to expose build breakages, and it has revealed several during the last few weeks as I have been developing it.

If anyone has suggestions as to the utility of this resource, I would appreciate constructive feedback.


QEMU in Launchpad

June 25, 2009

QEMU provides the userspace and device emulation required by KVM. As such, it’s an extremely important project to Ubuntu’s virtualization and cloud computing efforts.

The upstream project has not had an actively maintained bug tracker for quite some time.

I recently helped QEMU’s maintainer, Anthony Liguori setup a Launchpad project for tracking QEMU’s bugs. This should be a good thing for the upstream QEMU project, as well as for tracking bugs in Ubuntu’s kvm and qemu packages.


I have also set up a bzr mirror of qemu’s git tree, for people who are more bzr-inclined.

You can now:

bzr branch lp:qemu

Also, you can use Loggerhead to browse QEMU’s source tree and revision history at:


KVM’s inside of Byobu

June 25, 2009

Here’s a neat trick that I find phenomenally useful…

I like to run KVM virtual machines inside of Byobu, using KVM’s -curses option. From QEMU’s manpage:

Normally, QEMU uses SDL to display the VGA output. With this option, QEMU can display the VGA output when in text mode using a curses/ncurses interface. Nothing is displayed in graphical mode.

So this only works with non-graphical virtual machines, such as the Ubuntu Server. But hey, that’s what I’m working on every day. Here’s a quick demo screen cast.

Commands used in this video:

  1. start byobu
  2. run kvm -curses karmic-server.img to launch one virtual machine
  3. hit F8 to rename this window karmic
  4. hit F2 to open a new window
  5. start a second virtual machine, and rename that window
  6. hit F3 or F4 to move back and forth between windows
  7. hit F6 to detach
  8. and byobu -x to re-attach

The detach/reattach is really cool, as these virtual machines will continue running in the background. Many people use this sort of method to background an irc client such as irssi, which allows it to serve as a persistently connected proxy.

Of course, virsh and virt-manager are the preferred methods to manage virtual machines in Ubuntu, but I find this useful for my development purposes.