Estou tentando configurar o acesso serial do meu host libvirt para um de seus convidados.
Configurei o dispositivo no convidado e o iniciei:
jsharpe@sel-app1:~$ cat /etc/init/ttyS0.conf
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.
start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -8 9600 ttyS0
jsharpe@sel-app1:~$ sudo restart ttyS0
ttyS0 start/running, process 767
jsharpe@sel-app1:~$ ps aux|grep ttyS0
root 767 0.2 0.0 6080 632 ttyS0 Ss+ 17:20 0:00 /sbin/getty -8 9600 ttyS0
jsharpe 769 0.0 0.0 7624 904 pts/0 S+ 17:20 0:00 grep --color=auto ttyS0
No Host, eu tento me conectar com o virsh:
jsharpe@twoface:~ $ virsh console sel-app1
Connected to domain sel-app1
Escape character is ^]
... neste ponto, o host apenas trava. Eu posso matá-lo com ^], mas outras teclas não aparecem no terminal.
Agora, volte para guest, vamos reiniciar o ttyS0:
jsharpe@sel-app1:~$ sudo restart ttyS0
ttyS0 start/running, process 772
jsharpe@sel-app1:~$ ps aux|grep ttyS0
root 772 1.0 0.0 6076 560 ttyS0 Ss+ 17:23 0:00 /sbin/getty -8 9600 ttyS0
jsharpe 774 0.0 0.0 7624 904 pts/0 S+ 17:23 0:00 grep --color=auto ttyS0
Ótimo, de volta ao host:
jsharpe@twoface:~ $ virsh console sel-app1
Connected to domain sel-app1
Escape character is ^]
Ubuntu 10.04.3 LTS sel-app1 ttyS0
sel-app1 login:
Um prompt de login? Então eu tenho que reiniciar o ttyS0 depois de uma conexão ter sido tentada? wtf.
Observe que isso não é um problema de tempo limite. O comando do host / console será interrompido indefinidamente. Não é até reiniciar o ttyS0 que a conexão acontece.