This document describes one way to created the rcu-test-image file
that contains the filesystem used by the guest-OS kernel.  There are
probably much better ways of doing this, and this filesystem could no
doubt be smaller.  It is probably also possible to simply download
an appropriate image from any number of places.

That said, here are the commands:

------------------------------------------------------------------------
dd if=/dev/zero of=rcu-test-image bs=400M count=1
mkfs.ext3 ./rcu-test-image
sudo mount -o loop ./rcu-test-image /mnt

# Replace "precise" below with your favorite Ubuntu release.
# Empirical evidence says this image will work for 64-bit, but...
# Note that debootstrap does take a few minutes to run.  Or longer.
sudo debootstrap --verbose --arch i386 precise /mnt http://archive.ubuntu.com/ubuntu
cat << '___EOF___' | sudo dd of=/mnt/etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
#
/dev/vda        /               ext3    defaults        1 1
dev             /dev            tmpfs   rw              0 0
tmpfs           /dev/shm        tmpfs   defaults        0 0
devpts          /dev/pts        devpts  gid=5,mode=620  0 0
sysfs           /sys            sysfs   defaults        0 0
proc            /proc           proc    defaults        0 0
___EOF___
sudo umount /mnt
------------------------------------------------------------------------


References:

	http://sripathikodi.blogspot.com/2010/02/creating-kvm-bootable-fedora-system.html
	https://help.ubuntu.com/community/KVM/CreateGuests
	https://help.ubuntu.com/community/JeOSVMBuilder
	http://wiki.libvirt.org/page/UbuntuKVMWalkthrough
	http://www.moe.co.uk/2011/01/07/pci_add_option_rom-failed-to-find-romfile-pxe-rtl8139-bin/ -- "apt-get install kvm-pxe"
	http://www.landley.net/writing/rootfs-howto.html
	http://en.wikipedia.org/wiki/Initrd
	http://en.wikipedia.org/wiki/Cpio
	http://wiki.libvirt.org/page/UbuntuKVMWalkthrough
