Ok. Foi isso que eu criei:
sudo virt-install \
--name test \
--ram 4096 \
--disk path=/home/myuser/kvm/vm_images/test.img,size=20 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu16.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location http://debian.ethz.ch/ubuntu/ubuntu/dists/xenial/main/installer-amd64/ \
--extra-args 'hostname=test ip=10.10.10.120 dns=31.3.135.232 gateway=10.10.10.1 netmask=255.255.255.0 console=ttyS0,115200n8 serial' \
--debug
Para a maioria dos exemplos que encontrei, o endereço do parâmetro --location estava inativo. É assim que a minha parece:
Reachable as debian.ethz.ch, ubuntu.ethz.ch and ftp.ch.debian.org.
[ICO] Name Last modified Size Description
[PARENTDIR] Parent Directory -
[DIR] 20101020ubuntu448/ 2016-04-16 23:53 - Ubuntu APT repository
[DIR] 20101020ubuntu450/ 2016-04-19 20:58 - Ubuntu APT repository
[DIR] 20101020ubuntu451/ 2016-04-20 17:53 - Ubuntu APT repository
[DIR] current/ 2016-04-20 17:53 -
Após este comando você pousa diretamente no console do gestOS, com o instalador em execução. Não sei por que ele pede que o espelho faça o download durante a instalação, pois está especificado o parâmetro location.
Nem todos os argumentos extras funcionam para mim. hostname e console estão ok.
Como configurei br0 no host para ter um IP estático, a VM recém-criada não consegue resolver hosts na Internet. Por isso, durante o processo de escolha de espelho no instalador do guestOS falha. Consegui resolver esse problema saindo para o shell do instalador:
nano /etc/resolv.conf
# changed content of the file to: hostname 8.8.8.8
# ping yahoo.com should work for example
exit
depois você volta ao instalador e pode continuar. Não se esqueça de verificar o pacote do servidor OpenSSH durante a instalação. Você pode acessar a VM posteriormente pela sua concessão de DHCP com massa de vidraceiro. Após a conclusão da configuração, a VM será reiniciada e a sessão do console serial dentro do hostOS não será reconectada corretamente. Eu também não consegui me conectar com
$ virsh console foo
Isso só levou a
Connected to domain foo
Escape character is ^]
Link útil para mim: link