Como eu conecto um terminal serial a uma instância do KVM?

12

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:

  1. Quais configurações são melhores para a distribuição do FreeBSD convidado? (Existem muitos!)
  2. Como acesso o dito terminal do meu host Linux?
por Caleb 10.08.2010 / 22:17

4 respostas

5

Agora posso responder minha própria pergunta com base no comentário de Stefan e nos dois artigos vinculados:

Aqui está a solução:

  • Você não precisa editar nada a ver com a configuração do host, desde que tenha o dispositivo serial padrão apontando para pty lá.
  • Assegure-se de que o parâmetro de inicialização do seu kernel tenha isto anexado: serial=tty0 console=ttyS0,115200n8 . Geralmente alcançado editando /boot/grub/menu.lst
  • Configure /etc/inittab e anexe a linha T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100 para iniciar um getty e fornecer o prompt de login.

Eu 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 rodando o SELinux MLS).

Eu acho que a partir daí eu provavelmente sei como fazer o mesmo para o freebsd.

Obrigado Stefan!

    
por 12.08.2010 / 14:01
2

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 de bootloader serão necessárias. Se você já tem um console e está apenas querendo ter acesso serial também, siga as instruções em série após a instalação.

Serial do carregador de inicialização

  • Pressione 2 na tela de opções de inicialização do FreeBSD para escapar ao prompt do carregador
  • digite set console=comconsole
    • se você perder a interatividade neste ponto, verifique se a taxa de transmissão tty virtual é 9600
  • digite autoboot

Isso deve permitir que o restante da instalação seja feito na interface serial. Se você quiser continuar com o acesso serial após a instalação do FreeBSD, antes de reinicializar no final da instalação, você deverá soltar o comando.

Pós-instalação serial

Na consola:

  • digite echo 'console="comconsole"' >> /boot/loader.conf
  • carregar /etc/ttys no vi
  • Modifique a linha começando com ttyu0 (pode ser ttyd0 em outras versões do FreeBSD)
    • Nessa linha, altere dialup para vt100 e off para on
  • após a reinicialização, o terminal serial deve mostrar o processo de inicialização e terminar com um prompt de login
    • Nota: a configuração de console="comconsole" in /boot/loader.conf pode fazer com que as mensagens de inicialização apareçam apenas na interface serial. Apenas modifique /etc/ttys se você não quiser que o log de inicialização seja serial.

Referências

link

link

    
por 12.11.2011 / 09:26
0

Bem, você precisa emular uma porta serial dentro do emulador, é claro, e ter isso acessível no host. O sistema operacional convidado deve colocar algo em sua porta serial de hardware como um prompt de login, 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 depurar informações (o Haiku ainda usa isso por padrão) e então é capturada pelo emulador (como VMware) como um arquivo de texto simples para ter as informações de depuração disponíveis. Vou tentar aqui para obter algo em execução no console serial emulado no qemu.

    
por 12.08.2010 / 13:52
0

resposta do OP funciona, mas quando eu tentei com o meu env (host Linux, cliente Linux)

  1. serial=tty0 não foi necessário
  2. usando xterm em vez vt100 em /etc/inittab funciona melhor (você obtém cor)
por 12.10.2015 / 06:04