
Talvez eu esteja entendendo mal o que o KVM é capaz, mas a capacidade de adicionar/remover hardware na VM parece implicar que posso adicionar uma porta serial que atua como um terminal.
Então, minhas perguntas são:
- Quais configurações são melhores para a distribuição convidada do FreeBSD? (Existem muitos!)
- Como faço para acessar o referido terminal do meu host Linux?
Responder1
Agora posso responder minha própria pergunta com base emStefancomentário de e os dois artigos vinculados:
- https://askubuntu.com/questions/1733/what-reason-could-prevent-console-output-from-virsh-c-qemu-system-console-gu
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507650#29
Aqui está a solução:
- Você não precisa editar nada relacionado à configuração do host, desde que ele tenha o dispositivo serial padrão apontando para pty.
- Certifique-se de que o parâmetro de inicialização do seu kernel tenha anexado:
serial=tty0 console=ttyS0,115200n8
. Geralmente conseguido por edição/boot/grub/menu.lst
- Configure
/etc/inittab
e anexe a linhaT0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100
para iniciar um getty e fornecer o prompt de login.
Posso confirmar que isso funciona para mim usando um sistema fedora (embora eu tenha que definir enforcing=0
como um parâmetro adicional porque o sistema em questão é o fedora rawhide executando o SELinux MLS).
Acho que a partir daí provavelmente poderei descobrir como fazer o mesmo com o freebsd.
Obrigado Stefan!
Responder2
Em resposta a como configurar sua máquina FreeBSD, existem dois casos principais para obter serial. Se você estiver instalando o FreeBSD apenas com serial, as instruções seriais do bootloader serão necessárias. Se você já possui um console e deseja apenas ter acesso serial também, siga as instruções seriais pós-instalação.
Série do bootloader
- Pressione
2
na tela de opções de inicialização do FreeBSD para escapar para o prompt do carregador - tipo
set console=comconsole
- se você perder a interatividade neste momento, verifique se a taxa de transmissão do tty virtual é 9600
- tipo
autoboot
Isso deve permitir que o restante da instalação seja feito pela interface serial. Se você quiser continuar tendo acesso serial após a instalação do FreeBSD, antes de reinicializar no final da instalação você deverá ir para o prompt de comando.
Série pós-instalação
Na consola:
- tipo
echo 'console="comconsole"' >> /boot/loader.conf
- carregar
/etc/ttys
em vi - Modifique a linha começando com ttyu0 (pode ser ttyd0 em outras versões do FreeBSD)
- Nessa linha mude
dialup
paravt100
eoff
paraon
- Nessa linha mude
- após a reinicialização, o terminal serial deve mostrar o processo de inicialização e terminar com um prompt de login
- Nota: configurar
console="comconsole"
pode/boot/loader.conf
fazer com que as mensagens de inicialização apareçam apenas na interface serial. Apenas modifique/etc/ttys
se não quiser o log de inicialização em serial.
- Nota: configurar
Referências
http://www.freebsd.org/doc/handbook/serialconsole-setup.html
Responder3
Bem, você tem que emular uma porta serial dentro do emulador, é claro, e tê-la acessível no host. O sistema operacional convidado deve colocar algo em sua 'porta serial de hardware', como um prompt de login via, por exemplo, getty_ps. Agora, eu pessoalmente não tive que usá-lo dessa maneira. Principalmente a porta serial emulada no sistema operacional convidado é usada para informações de depuração (o Haiku ainda a usa por padrão) e então é capturada pelo emulador (como o VMware) como um arquivo de texto simples para ter as informações de depuração disponíveis. Tentarei aqui fazer algo rodar no console serial emulado dentro do qemu.
Responder4
A resposta do OP funciona, mas quando tentei com meu ambiente (host Linux, cliente Linux)
serial=tty0
não era necessário- usar xterm em vez de vt100
/etc/inittab
funciona melhor (você obtém cor)