Sim, isso é possível, embora haja várias etapas para adicionar um console serial.
--extra-args
só pode ser usado em combinação com --location
. Como você está trabalhando a partir de uma imagem de disco local qcow2
, --location
não é realmente o mecanismo que você está procurando.
Em vez disso, você está procurando por --console
:
console:
--console
Connect a text console between the guest and host. Certain guest and
hypervisor combinations can automatically set up a getty in the guest, so an
out of the box text login can be provided (target_type=xen for xen paravirt
guests, and possibly target_type=virtio in the future).
Na prática, isso é adicionado da seguinte forma (em um sistema Linux moderno):
--console pty,target_type=virtio
Nota : pode obter mais opções sobre as configurações disponíveis aqui: link
Como eu já tinha preparado um appliance baseado em QCOW2, pude testá-lo da seguinte maneira:
virt-install --name thing --memory 512 \
--console pty,target_type=virtio --disk appliance.qcow2 --boot hd
Nos bastidores, isso está realizando diversas adições ao "domínio" (um arquivo XML que armazena a configuração do host). Por exemplo:
<controller type='virtio-serial' index='0'>
<alias name='virtio-serial0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</controller>
<console type='pty' tty='/dev/pts/14'>
<source path='/dev/pts/14'/>
<target type='virtio' port='0'/>
<alias name='console0'/>
</console>
<channel type='spicevmc'>
<target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
<alias name='channel0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
Se isso não funcionar, você também pode fazer isso editando as opções de inicialização dentro do appliance com uma ferramenta como guestfish
( link ) ou especificando a localização do kernel, initrd e fornecendo as opções manualmente com --boot
. No caso do guestfish, existe até uma receita para conseguir o que você está procurando: guestfish-recipies: Edite a configuração do grub em uma VM .
boot:
--boot
Optionally specify the post-install VM boot configuration. This option
allows specifying a boot device order, permanently booting off
kernel/initrd with option kernel arguments, and enabling a BIOS boot menu
(requires libvirt 0.8.3 or later)
--boot kernel=KERNEL,initrd=INITRD,kernel_args="console=/dev/ttyS0"
Have guest permanently boot off a local kernel/initrd pair, with the
specified kernel options.