Quizás no entiendo de qué es capaz KVM, pero la capacidad de agregar/eliminar hardware en VM parece implicar que puedo agregar un puerto serie que luego actúa como terminal.
Entonces, mis preguntas son:
Ahora puedo responder a mi propia pregunta en función del comentario de Stefan y los dos artículos vinculados:
Esta es la solucion:
serial=tty0 console=ttyS0,115200n8
. Generalmente se logra editando /boot/grub/menu.lst
/etc/inittab
y agregue la línea T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100
para 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 configurar enforcing=0
como parámetro adicional porque el sistema en cuestión es Fedora rawhide y ejecuta SELinux MLS).
Creo que a partir de ahí probablemente pueda averiguar cómo hacer lo mismo para freebsd.
¡Gracias Stefan!
En respuesta a cómo configurar su máquina FreeBSD, hay dos casos principales para obtener serial. Si está instalando FreeBSD solo con serie, se necesitarán las instrucciones de serie del cargador de arranque. Si ya tiene una consola y solo desea tener acceso en serie también, siga las instrucciones posteriores a la instalación en serie.
2
en la pantalla de opciones de arranque de FreeBSD para escapar al indicador del cargadorset console=comconsole
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 que FreeBSD esté instalado, antes de reiniciar al final de la instalación, querrá pasar al símbolo del sistema.
En la consola:
echo 'console="comconsole"' >> /boot/loader.conf
/etc/ttys
en vidialup
a vt100
y off
a on
console="comconsole"
en /boot/loader.conf
podría hacer que los mensajes de arranque aparezcan solo en la interfaz serial. Simplemente modifique /etc/ttys
si no desea que el registro de arranque sea en serie.http://www.freebsd.org/doc/handbook/serialconsole-setup.html
Bueno, tienes que emular un puerto serie dentro del emulador, por supuesto, y tenerlo accesible en el Host. El sistema operativo invitado debe poner algo en su 'puerto serie de hardware', como un indicador de inicio de sesión, 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 el emulador (como VMware) lo captura como un simple archivo de texto para tener la información de depuración disponible. Intentaré aquí hacer que algo se ejecute en la consola serie emulada dentro de qemu.
La respuesta de OP funciona, pero cuando lo intenté con mi env (host Linux, cliente Linux)
serial=tty0
no era necesario/etc/inittab
funciona mejor (obtienes color)