2011-07-15 16 views
15

Quiero ejecutar algunos programas en la computadora de alto rendimiento (con procesador de 8 núcleos) en mi departamento. Ahora uso esa máquina con ssh usando terminal. La máquina tiene instalado Red Hat Linux. Pero mis programas necesitan ejecutarse en Solaris. Yo uso Nexenta Solaris para x86.¿Cómo usar qemu para ejecutar un sistema operativo no gui en el terminal?

Se puede usar qemu para ejecutar Nexenta Solaris en esa máquina a través del terminal. Necesito convencer al administrador de que puede; de ​​lo contrario, no instalará qemu en esa máquina y, por lo tanto, me permitirá usar Solaris a través de una máquina virtual. También tenga en cuenta que no uso GUI con Nexenta Solaris, solo línea de comando. En mi máquina, uso VMware para ejecutarlo.

+0

similares pero con menos limitaciones del sistema operativo: http://stackoverflow.com/questions/18098455/redirect-qemu-console-to-a-file-or-the-host-terminal y HTTP : //stackoverflow.com/questions/19565116/redirect-qemu-window-output-to-terminal-running-qemu –

Respuesta

22

Puede compilar qemu para usted e instalarlo en su directorio de inicio. No habrá acelerador qemu en modo kernel, pero el qemu funcionará y la velocidad será bastante alta.

Qemu tiene dos opciones para el inicio no GUI: http://wiki.qemu.org/download/qemu-doc.html

Opciones de visualización:

-nographic - Normalmente, QEMU utiliza SDL para mostrar la salida VGA. Con esta opción, puede deshabilitar totalmente la salida gráfica para que QEMU sea una aplicación de línea de comando simple. El puerto serie emulado se redirige a la consola. Por lo tanto, aún puede usar QEMU para depurar un kernel de Linux con una consola en serie.

-curses - Normalmente, QEMU utiliza SDL para mostrar la salida VGA. Con esta opción, QEMU puede mostrar la salida VGA cuando está en modo texto usando una interfaz curses/ncurses. Nada se muestra en modo gráfico.

También puede enviar la salida gráfica a otra máquina a través del protocolo VNC (opción -vnc)

+25

las maldiciones son hermosas: http://blog.scaramanga.co.uk/wp-content/uploads/ 2010/06/winxp-textmode.png – osgx

+0

Sí, '-curses' funciona en ssh, mientras que -nographic simplemente se cuelga. –

+1

Parche original de maldiciones para qemu, 2005: https://lists.gnu.org/archive/html/qemu-devel/2005-12/msg00084.html "[Qemu-devel] qemu maldice al conductor" De: \t andrzej zaborowski Fecha : \t sáb, 10 dic 2005 "* Cuando qemu se ejecuta con" -curses " muestra todo en la terminal actual, ya sea la consola nativa, linux framebuffer, xterm o ejecutando ssh, dejando la tarea de representando caracteres al terminal .... Esto funciona mientras el adaptador de gráficos virtual esté en el modo de texto . * " – osgx

5

-append 'console=ttyS0' también se necesitaba para el núcleo de Linux será además -nographic mencionado por osgx como en:

qemu-system-x86_64 -kernel bzImage \ 
        -initrd rootfs.cpio.gz \ 
        -nographic \ 
        -append 'console=ttyS0' 

Lamentablemente, -append 'console=ttyS0' requiere el -kernel bzImage para funcionar, por lo que no lo pude usar con ingenio h -cdrom distro.iso.

Esto se puede probar fácilmente con Buildroot qemu_x86_64_defconfig. Creé this is a highly self-contained and automated setup que te permite probar esto.

Su siguiente pregunta será cómo pasar una Ctrl + C para el invitado: https://unix.stackexchange.com/questions/167165/how-to-pass-ctrl-c-to-the-guest-when-running-qemu-with-nographic :-)

Probado en Ubuntu 17.10.

1

he luchado esto por un tiempo y finalmente descubierto la manera de conseguir que funcione para mí:

Es necesario tener instalados SGABIOS.Curiosamente este BIOS no está incluido en el paquete debian qemu, por lo que necesita para instalarlo (como superusuario):

apt install sgabios 

A continuación, cuando se ejecuta qemu utilice la opción -device a indicar a la máquina virtural utilizar el SGA salida

qemu-system-i386 -nographic -device sga discimage.bin 

Voila! funciona perfectamente en ssh con el monitor y la salida de texto enviados a través de stdio. Puede acceder al monitor qemu con C-a c.

aplausos, ben

Cuestiones relacionadas