Eu consegui responder minha própria pergunta depois de alguns dias de pesquisa. Você deve passar "ds = nocloud" como uma opção de kernel para a VM.
Veja como eu fiz isso.
#!/bin/sh export VM_NAME=cirros$$ IMAGES_BASE=/var/lib/libvirt/images cp $IMAGES_BASE/cirros/cirros-0.3.0-i386-blank.img $IMAGES_BASE/$VM_NAME.img virt-install -r 256 \ -n $VM_NAME \ --vcpus=1 \ --import \ --autostart \ --memballoon virtio \ --network bridge=virbr0 \ --boot kernel=$IMAGES_BASE/cirros/cirros-0.3.0-i386-vmlinuz,initrd=$IMAGES_BASE/cirros/cirros-0.3.0-i386-initrd,kernel_args="console=/dev/ttyS0 ds=nocloud" \ --disk $IMAGES_BASE/$VM_NAME.img \ --noautoconsole
O kernel, o initrd e a imagem em branco estão contidos nas versões do UEC dos cirros na página de download.
UPDATE - Outro método é editar / etc / cirros-init / config. Altere a variável DATASOURCE_LIST. Esse método requer a atualização da imagem da VM, então prefiro usar o método kernel args. O arquivo / etc / cirros-init / config existe no cirros-0.3.3, mas não no cirros-0.3.0. Eu não verifiquei outras versões.