QEMU-KVM virtualizzazione Linux sulla row di command

Recentemente ho scoperto che qemu-kvm ha un'opzione molto promettente -curses che, invece di avviare una window X, mostrerà una bella output ncurses dall'ospite adatta per gestire un guest Linux dalla row di command (o, più soddisfacente, all'interno di un session di schermo, o anche su ssh).

Così ho provato questo e ho scoperto che l'ospite di Arch Linux entra in una "modalità grafica" che rende questa function inutile. Da quello che ho potuto accertare, il problema è che il kernel ospite inizializza un framebuffer per consentire una risoluzione di caratteri superiore a 80×60 (e grafica grafica). Così sono andato a caccia per trovare un modo per impedire al kernel guest di avviare il framebuffer. Ho provato una varietà di parametri del kernel, nomodeset , fb=false , vga=0x0FF , vga=ask (e successivamente select una modalità VGA piuttosto che una modalità VESA ), senza alcun risultato: each volta che i rapporti di qemu-kvm -curses "Modalità grafica" dell'ospite (dopo i menu di avvio iniziale) e non sono in grado di interagire con l'ospite da un terminal di row di command dell'host.

C'è un modo semplice per mantenere il kernel guest nella stessa modalità in cui si avvia (nessun framebuffer) senza modificare un parametro di creazione del kernel? Altrimenti, quali opzioni di build del kernel dovrei cambiare per compilare un kernel senza supporto framebuffer? C'è un modo migliore per get un login VM da un terminal nell'host in modalità text puro (adatto per essere eseguito in una session di schermo sul host, ad esempio) senza ricorrere a eseguire sshd all'ospite?

  • AVVERTENZA L'accelerazione KVM non è disponibile, usando 'qemu'
  • È ansible passare / dev / urandom dall'host a un guest qemu / kvm?
  • kvm snapshot-create-come fallito
  • qemu-img convertire CentOS7 vmdk in qcow2 e viceversa l'errore
  • QEMU: Visitatore di Solaris 11 / Sparc64 su host Linux / X86-64
  • Vagrant (Virtualbox) solo host-soluzioni multiple di nodes di networking
  • Come condividere la cartella host con ospiti KVM in modo efficiente?
  • KVM / QEMU: connessione a VM senza GUI
  • 3 Solutions collect form web for “QEMU-KVM virtualizzazione Linux sulla row di command”

    Quindi, il module sottostante che deve essere disabilitato è fbcon , tuttavia il kernel di Arch non lo compila come un module, perciò blacklisting it out. Potrebbe comunque essere ansible identificare e distriggersre il driver fbcon lanciato da fbcon ma nessun driver è elencato da lsmod , quindi il driver di qemu-kvm viene compilato in Arch. Per distriggersre la function fbcon , è necessario utilizzare la sua propria strana syntax di opzione di avvio:

     fbcon=map:99 

    where 99 è solo un numero arbitrariamente grande che è maggiore del numero di dispositivi framebuffer sul sistema (di solito 1-2).

    Vedere fbcon.txt per ulteriori informazioni.

    vga16fb.modeset=0 lavorato per me in passato (in Ubuntu). Anche in Ubuntu, la list nera di tutti i moduli framebuffer (vga16fb inclusa) ha funzionato troppo.

    Provare a eseguirlo come questo:

     TERM=dumb qemu-kvm -curses ... 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.