Verified using latest released 12.04 image from raring under kvm:
$ imgurl="http://cloud-images.ubuntu.com/releases/precise/release-20130204/ubuntu-12.04-server-cloudimg-amd64-disk1.img" $ deburl="https://launchpad.net/ubuntu/+source/cloud-init/0.6.3-0ubuntu1.5/+build/4312778/+files/cloud-init_0.6.3-0ubuntu1.5_all.deb" $ isourl="https://bugs.launchpad.net/cloud-init/+bug/1037567/+attachment/3509468/+files/disk.config.gz"
$ wget $imgurl -O precise-amd64.img.dist $ wget $deburl -O cloud-init.deb $ wget $isourl -O cfgdisk.img.dist;
$ qemu-img convert -O qcow2 precise-amd64.img.dist disk1.img.dist $ qemu-img create -f qcow2 -b disk1.img.dist patched.img.dist
$ zcat --force cfgdisk.img.dist > cfgdisk.img $ chmod 600 cfgdisk.img disk1.img.dist
## patch the patched.img.dist with new cloud-init $ bzr branch lp:~smoser/+junk/backdoor-image ./bi $ sudo ./bi/mount-callback-umount patched.img.dist -- \ sh -ec 'mp=$MOUNTPOINT; cp cloud-init.deb $mp/tmp && LANG=C chroot $mp dpkg -i /tmp/cloud-init.deb ; rm $mp/tmp/cloud-init.deb' --
$ qemu-img create -f qcow2 -b disk1.img.dist unpatched.img $ qemu-img create -f qcow2 -b patched.img.dist patched.img
# boot patched and unpatched images $ kvm -m 512 -drive file=patched.img,if=virtio -cdrom cfgdisk.img -curses
% grep found.data.source /var/log/cloud-init.log 2013-02-19 21:50:40,887 - __init__.py[DEBUG]: found data source DataSourceConfigDriveNet 2013-02-19 21:50:40,957 - cloud-init[DEBUG]: found data source: DataSourceConfigDrive [net,ver=2][source=/dev/sr0]
Verified using latest released 12.04 image from raring under kvm:
$ imgurl="http:// cloud-images. ubuntu. com/releases/ precise/ release- 20130204/ ubuntu- 12.04-server- cloudimg- amd64-disk1. img" /launchpad. net/ubuntu/ +source/ cloud-init/ 0.6.3-0ubuntu1. 5/+build/ 4312778/ +files/ cloud-init_ 0.6.3-0ubuntu1. 5_all.deb" /bugs.launchpad .net/cloud- init/+bug/ 1037567/ +attachment/ 3509468/ +files/ disk.config. gz"
$ deburl="https:/
$ isourl="https:/
$ wget $imgurl -O precise- amd64.img. dist
$ wget $deburl -O cloud-init.deb
$ wget $isourl -O cfgdisk.img.dist;
$ qemu-img convert -O qcow2 precise- amd64.img. dist disk1.img.dist
$ qemu-img create -f qcow2 -b disk1.img.dist patched.img.dist
$ zcat --force cfgdisk.img.dist > cfgdisk.img
$ chmod 600 cfgdisk.img disk1.img.dist
## patch the patched.img.dist with new cloud-init callback- umount patched.img.dist -- \ cloud-init. deb' --
$ bzr branch lp:~smoser/+junk/backdoor-image ./bi
$ sudo ./bi/mount-
sh -ec 'mp=$MOUNTPOINT; cp cloud-init.deb $mp/tmp &&
LANG=C chroot $mp dpkg -i /tmp/cloud-init.deb ;
rm $mp/tmp/
$ qemu-img create -f qcow2 -b disk1.img.dist unpatched.img
$ qemu-img create -f qcow2 -b patched.img.dist patched.img
# boot patched and unpatched images img,if= virtio -cdrom cfgdisk.img -curses
$ kvm -m 512 -drive file=patched.
% grep found.data.source /var/log/ cloud-init. log gDriveNet gDrive [net,ver= 2][source= /dev/sr0]
2013-02-19 21:50:40,887 - __init__.py[DEBUG]: found data source DataSourceConfi
2013-02-19 21:50:40,957 - cloud-init[DEBUG]: found data source: DataSourceConfi