Running Ubuntu armel cloud instances manually

Documentation: https://help.ubuntu.com/community/UEC/Images

The image itself: http://uec-images.ubuntu.com/oneiric/current/oneiric-server-cloudimg-armel-disk1.img

This is the plain QCOW2 image. The normal one includes OMAP3/4(?) kernel but I’ll use the vexpress-a9 Linaro hwpack instead.

michaelh@crucis:~/linaro/tests/qemu/img$ qemu-img info oneiric-server-cloudimg-armel-disk1.img
image: oneiric-server-cloudimg-armel-disk1.img
file format: qcow2
virtual size: 808M (847203840 bytes)
disk size: 198M
cluster_size: 65536

Running with:

qemu-system-arm -M vexpress-a9 -m 1024 \
-drive file=../../img/ubuntu.img,if=sd,cache=writeback \
-serial stdio \
-append 'root=/dev/mmcblk0p1 rw mem=1024M console=ttyAMA0,38400n8 rootwait' \
-kernel ../../img/tip/uImage -initrd ../../img/tip/uInitrd

Sits there saying:

2012-01-09 03:12:12,509 - DataSourceEc2.py[WARNING]: ‘http://169.254.169.254' failed: url error [[Errno 111] Connection refused]

Try different boot args:

root=/dev/mmcblk0p1 rw mem=1024M console=ttyAMA0,38400n8 rootwait \
init=/usr/lib/cloud-init/uncloud-init ubuntu-pass=ubuntu ds=unloud-init

Running:

qemu-system-arm -M vexpress-a9 -m 1024 \
-drive file=../../img/ubuntu.img,if=sd,cache=writeback \
-serial stdio \
-append 'root=/dev/mmcblk0p1 rw mem=1024M console=ttyAMA0,38400n8 rootwait init=/usr/lib/cloud-init/uncloud-init ubuntu-pass=ubuntu ds=nocloud' \
-kernel ../../img/tip/uImage -initrd ../../img/tip/uInitrd

Fails with:

Failed to execute /usr/lib/cloud-init/nocloud-init.  Attempting defaults...

Should be uncloud-init.

uncloud-init assumes the console is on ttyS0. Patch to ttyAMA0.

Final fault is the ds=. Should be nocloud which causes cloud-init to use DataSourceNoCloud.py.

Forward SSH:

-redir tcp:5022::22

Giving:

qemu-system-arm -M vexpress-a9 -m 1024 \
-drive file=../../img/ubuntu.img,if=sd,cache=writeback -serial stdio \
-append 'root=/dev/mmcblk0p1 rw mem=1024M console=ttyAMA0,38400n8 rootwait init=/usr/lib/cloud-init/uncloud-init ubuntu-pass=ubuntu ds=nocloud' \
-kernel ../../img/tip/uImage -initrd ../../img/tip/uInitrd \
-redir tcp:5022::22