QEMU-KVM Virtualización Linux en la command-line

Recientemente descubrí que qemu-kvm tiene una opción muy prometedora -curses que, en lugar de iniciar una window de X, mostrará una buena salida ncurses del invitado adecuada para administrar un invitado de Linux desde la command-line (o, más satisfactoriamente, session de pantalla, o incluso sobre ssh).

Así que probé esto, y descubrí que mi invitado Arch Linux entra en un "Modo Gráficos" haciendo que esta function sea inútil. De lo que he podido comprobar, el problema es que el kernel invitado inicializa un framebuffer para permitir una resolución de caracteres de más de 80×60 (y charts bonitos). Así que fui en una caza para encontrar una manera de evitar que el kernel huésped de iniciar el framebuffer. He intentado una variedad de parameters del kernel, nomodeset , fb=false , vga=0x0FF , vga=ask (y posteriormente seleccionando un VGA lugar de un modo VESA ), en vano: cada vez qemu-kvm -curses informes en un "Modo gráfico" en el invitado (después de los menus iniciales de arranque), y no puedo interactuar con el invitado desde un terminal de command-line en el host.

¿Hay alguna manera fácil de mantener el kernel invitado en el mismo modo que comienza en (sin framebuffer) sin cambiar un parámetro de compilation del kernel? Si no, ¿qué opciones de compilation del kernel debería cambiar para comstackr un kernel sin soporte de framebuffer? ¿Existe una mejor manera de get un inicio de session de VM desde un terminal en el host en modo de text puro (adecuado para ejecutarse en una session de pantalla en el host, por ejemplo) sin recurrir a ejecutar sshd en el invitado?

Así que el module subyacente que necesita ser deshabilitado es fbcon , sin embargo el núcleo de Arch no lo comstack como un module, por lo que la list negra. Todavía podría ser posible identificar y deshabilitar el controller particular que lanza fbcon pero este controller no aparece en lsmod , por lo que el qemu-kvm se comstack en Arch. Para deshabilitar fbcon sí, usted tiene que utilizar su propia opción de arranque extraña syntax:

 fbcon=map:99 

donde 99 es sólo un número arbitrariamente grande que es mayor que el número de dispositivos framebuffer en el sistema (normalmente 1-2).

Vea fbcon.txt para más información.

vga16fb.modeset=0 funcionó para mí en el pasado (en Ubuntu). También en Ubuntu, la list negra de todos los modules framebuffer (vga16fb incluido) funcionó también.

Intente ejecutarlo de esta manera:

 TERM=dumb qemu-kvm -curses ...