¿Cómo conecto un terminal en serie a una instancia de KVM?


12

Tal vez no entiendo de qué es capaz KVM, pero la capacidad de agregar / eliminar hardware en la VM parece implicar que puedo agregar un puerto serie que luego actúa como terminal.

Entonces, mis preguntas son:

  1. ¿Qué configuraciones son las mejores para la distribución de FreeBSD como invitado? (¡Hay muchos!)
  2. ¿Cómo accedo a dicha terminal desde mi host Linux?

Respuestas:


5

Ahora puedo responder mi propia pregunta basada en el comentario de Stefan y los dos artículos vinculados:

Aquí está la solución:

  • No necesita editar nada que ver con la configuración del host siempre que tenga el dispositivo serie predeterminado apuntando a pty allí.
  • Asegúrese de que el parámetro de arranque para su kernel ha anexado esto: serial=tty0 console=ttyS0,115200n8. Generalmente se logra mediante la edición/boot/grub/menu.lst
  • Configure /etc/inittaby agregue la línea T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100para iniciar un getty y darle el aviso de inicio de sesión.

Puedo confirmar que esto funciona para mí usando un sistema fedora (aunque tuve que establecerlo enforcing=0como un parámetro adicional porque el sistema en cuestión es fedora rawhide ejecutando SELinux MLS).

Creo que a partir de ahí probablemente pueda averiguar cómo hacer lo mismo para freebsd.

Gracias Stefan!


Creo que serial=tty0es un error y estaba destinado a ser console=tty0. No veo un parámetro "serial" en ninguno de los documentos del kernel. Sin embargo, especificar varias consolas (en este caso, la consola virtual activa más la consola serie) tiene sentido para mí.
mattdm

2

En respuesta a cómo configurar su máquina FreeBSD, hay dos casos principales para obtener el serial. Si está instalando FreeBSD solo en serie, se necesitarán las instrucciones en serie del cargador de arranque. Si ya tiene una consola y solo desea tener acceso en serie también, siga las instrucciones en serie posteriores a la instalación.

Bootloader serial

  • Presione 2en la pantalla de opciones de arranque de FreeBSD para escapar al indicador del cargador
  • tipo set console=comconsole
    • si pierde interactividad en este punto, verifique si la velocidad de transmisión virtual de tty es 9600
  • tipo autoboot

Esto debería permitir que el resto de la instalación se realice a través de la interfaz en serie. Si desea continuar teniendo acceso en serie después de instalar FreeBSD, antes de reiniciar al final de la instalación, querrá ir al símbolo del sistema.

Serie posterior a la instalación

En la consola:

  • tipo echo 'console="comconsole"' >> /boot/loader.conf
  • cargar /etc/ttysen vi
  • Modifique la línea que comienza con ttyu0 (podría ser ttyd0 en otras versiones de FreeBSD)
    • En esa línea cambie dialupa vt100y offparaon
  • después del reinicio, el terminal serie debe mostrar el proceso de inicio y finalizar con un mensaje de inicio de sesión
    • Nota: la configuración console="comconsole"de /boot/loader.confpodría hacer que los mensajes de arranque aparecen sólo en la interfaz en serie. Simplemente modifique /etc/ttyssi no desea que el registro de arranque sea serial.

Referencias

http://www.freebsd.org/doc/handbook/serialconsole-setup.html

http://www.freebsd.org/doc/handbook/term.html


0

Bueno, tiene que emular un puerto serie dentro del emulador, por supuesto, y hacer que sea accesible en el host. El sistema operativo invitado debe poner algo en su 'puerto serie de hardware' como una solicitud de inicio de sesión a través de, por ejemplo, getty_ps. Ahora personalmente no he tenido que usarlo de esta manera. En su mayoría, el puerto serie emulado en el sistema operativo invitado se usa para depurar información (Haiku todavía lo usa de forma predeterminada) y luego es capturado por el emulador (como VMware) como un simple archivo de texto para tener disponible la información de depuración ... Intentaré aquí para obtener algo ejecutándose en la consola serie emulada dentro de qemu.


0

La respuesta de OP funciona, pero cuando lo intenté con mi env (host Linux, cliente Linux)

  1. serial=tty0 no era necesario
  2. usando xterm en su lugar vt100 /etc/inittabfunciona mejor (obtienes color)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.