Cómo ejecutar una máquina virtual sin tarjeta gráfica (VGA) configurada en VirtualBox

0

Quiero usar la siguiente función de Linux (que es una de mis máquinas virtuales):

Si no se especifica ningún dispositivo de consola, se utilizará el primer dispositivo encontrado capaz de actuar como una consola del sistema. En este momento, el sistema primero busca una tarjeta VGA y luego un puerto serie. https://github.com/torvalds/linux/blob/master/Documentation/serial-console.txt La razón de esto es que en producción usamos la salida de video para interactuar con la máquina virtual (solo texto), pero para las pruebas quiero interactuar de manera programática con la máquina usando un puerto serie provisto por VirtualBox.

Descargos de responsabilidad:

  • Soy consciente de que ejecuto máquinas virtuales sin cabeza, pero esto es diferente de ejecutarlas sin una tarjeta gráfica.
  • Estoy al tanto de SSH pero SSH no está permitido en la máquina virtual
  • Soy consciente de RDP pero no es posible utilizar un cliente RDP durante las pruebas.
  • Soy consciente de tomar capturas de pantalla de la VM y OCR (desesperado, lo sé), pero luego no puedo proporcionar información.
  • Soy consciente de la opción cli sin documentar VirtualBox: VBoxManage modifyvm "$(VM_REL_NAME)" --graphicscontroller none pero eso parece no activar la característica citada anteriormente.
Kreisquadratur
fuente
No es una respuesta, pero en lugar de preocuparse por la desactivación de la tarjeta VGA (ya que la va a usar en producción), ¿por qué no configura la VM para que tenga un puerto serie apuntado a un canal con nombre en el equipo host (asumiendo que está usando Windows como host) y, a continuación, configure el puerto serie en el SO huésped como una conexión de terminal. Luego, puede conectar una aplicación de terminal de sistema operativo host a la tubería con nombre y ta-da, tiene una conexión de terminal al sistema operativo invitado. Es comprensible que no sea útil si tiene que estar sin GUI para la instalación completa.
David Rouse
@DavidRouse Eso funcionaría si yo quisiera el puerto serie como una consola, por ejemplo. iniciar sesión en él. Pero a medida que lo uso durante el arranque (la unidad con la que quiero interactuar es una unidad del sistema) puedo hacer que esa unidad solo salga / ingrese a una consola.
Kreisquadratur
"Quiero usar la siguiente característica de Linux", y luego hacerlo. Actualmente no veo ninguna pregunta, excepto que "parece no activar la función citada anteriormente" implica que está teniendo dificultades para usarla. ¿Cuál es la dificultad? ¿Por qué no puedes usar SSH? (Eso suena como un problema de red que puede ser algo que debería solucionarse, eventualmente, de todos modos). El software de VM que normalmente uso tiene una forma de enviar una pulsación de tecla a la consola local (incluso si no puedo verla), lo cual Trabajar con capturas de pantalla. Los detalles específicos del sistema operativo pueden ayudar, entonces, ¿qué sistema operativo Linux?
TOOGAM
@TOOGAM Con respecto al uso de la función Linux, no puedo encontrar una manera en Virtualbox para iniciar la VM sin una tarjeta gráfica / VGA para configurar (lo que debería incluir al núcleo de Linux para activar la función de cambio de consola); así que mi pregunta está dirigida a VirtualBox, así como a cómo y si esa característica del kernel de Linux debería funcionar. Con respecto a SSH: la imagen de VM será utilizada por un cliente que no debería tener acceso a SSH y quiero probar la imagen exacta que recibe el cliente, por lo que no puede activar SSH durante la prueba ya que esto alteraría la imagen (un OVA). Linux es CoreOS y quiero interactuar con una unidad Systemd.
Kreisquadratur
@TOOGAM "El software de máquina virtual que normalmente uso tiene una forma de enviar una pulsación de tecla" ¿te refieres a manera programática o interactiva? Si es programático, ¿qué software de VM usas? No veo una forma sencilla (además de usar RPD o KVM) para enviar pulsaciones de teclas a una máquina virtual utilizando VirtualBox. Si eso fuera posible, sería innecesario un puerto serie.
Kreisquadratur

Respuestas:

0

Estaba buscando una respuesta a algo muy similar. Las búsquedas en Google me trajeron aquí, que no proporcionó una respuesta. Una vez encontrada la respuesta, voy a necro este post y proporciono la respuesta que encontré que funciona para mí.

Lo siguiente escuchará de localhost (el sistema que ejecuta VBox) en el puerto 2323 para telnet (o netcat) y proporcionará una conexión serial al servidor.

VBoxManage modifyvm <VBoxVM> --uart1 0x3F8 4 --uartmode1 tcpserver 2323
chaotux
fuente