
Quizás no entiendo de qué es capaz KVM, pero la capacidad de agregar o quitar hardware en la VM parece implicar que puedo agregar un puerto serie que luego actúa como terminal.
Entonces, mis preguntas son:
- ¿Qué configuraciones son mejores para la distribución invitada de FreeBSD? (¡Hay muchos!)
- ¿Cómo accedo a dicha terminal desde mi host Linux?
Respuesta1
Ahora puedo responder mi propia pregunta basada enEstebanEl comentario de y los dos artículos 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
Aquí está la solución:
- No necesita editar nada relacionado 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 de su kernel tenga esto adjunto:
serial=tty0 console=ttyS0,115200n8
. Generalmente se logra editando/boot/grub/menu.lst
- Configure
/etc/inittab
y agregue la líneaT0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100
para iniciar un getty y brindarle el mensaje de inicio de sesión.
Puedo confirmar que esto funciona para mí usando un sistema Fedora (aunque tuve que configurarlo enforcing=0
como un parámetro adicional porque el sistema en cuestión es Fedora Rawhide que ejecuta SELinux MLS).
Creo que a partir de ahí probablemente pueda descubrir cómo hacer lo mismo con freebsd.
Gracias Esteban!
Respuesta2
En respuesta a cómo configurar su máquina FreeBSD, hay dos casos principales para obtener el número de serie. Si está instalando FreeBSD solo con el puerto serie, necesitará las instrucciones del cargador de arranque en serie. Si ya tiene una consola y solo desea tener acceso en serie también, siga las instrucciones en serie posteriores a la instalación.
Serie del cargador de arranque
- Presione
2
en la pantalla de opciones de inicio de FreeBSD para escapar al indicador del cargador - tipo
set console=comconsole
- Si pierde interactividad en este punto, verifique si la velocidad en baudios del tty virtual es 9600
- tipo
autoboot
Esto debería permitir que el resto de la instalación se realice a través de la interfaz serie. Si desea seguir teniendo acceso en serie después de instalar FreeBSD, antes de reiniciar al final de la instalación, deberá acceder al símbolo del sistema.
Serie posterior a la instalación
En la consola:
- tipo
echo 'console="comconsole"' >> /boot/loader.conf
- cargar
/etc/ttys
en vi - Modifique la línea que comienza con ttyu0 (podría ser ttyd0 en otras versiones de FreeBSD)
- En esa línea cambie
dialup
haciavt100
yoff
haciaon
- En esa línea cambie
- Después del reinicio, el terminal serie debería mostrar el proceso de inicio y finalizar con un mensaje de inicio de sesión.
- Nota: la configuración
console="comconsole"
podría/boot/loader.conf
hacer que los mensajes de inicio aparezcan solo en la interfaz serie. Simplemente modifíquelo/etc/ttys
si no desea que el registro de inicio se realice en serie.
- Nota: la configuración
Referencias
http://www.freebsd.org/doc/handbook/serialconsole-setup.html
Respuesta3
Bueno, por supuesto, debes emular un puerto serie dentro del emulador y tener acceso a él en el host. El sistema operativo invitado debería poner algo en su 'puerto serie de hardware' como un mensaje de inicio de sesión a través de, por ejemplo, getty_ps. Ahora personalmente no he tenido que usarlo de esta manera. Principalmente, 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 el emulador (como VMware) lo captura como un simple archivo de texto para tener la información de depuración disponible. Intentaremos aquí ejecutar algo en la consola serie emulada dentro de qemu.
Respuesta4
La respuesta de OP funciona, pero cuando probé con mi entorno (host Linux, cliente Linux)
serial=tty0
no era necesario- usar xterm en lugar de vt100
/etc/inittab
funciona mejor (obtienes color)