Question Virtualisation QEMU-KVM Linux en ligne de commande


J'ai récemment découvert que qemu-kvm a un très prometteur -curses option qui, au lieu de démarrer une fenêtre X, affichera une belle sortie de l'invité, adaptée à la gestion d'un invité Linux à partir de la ligne de commande (ou, de manière plus satisfaisante, dans une session écran ou même sur ssh).

J'ai donc essayé et découvert que mon invité Arch Linux passait en "mode graphique", rendant cette fonctionnalité inutile. D'après ce que j'ai pu constater, le problème est que le noyau invité initialise un framebuffer afin de permettre une résolution supérieure à 80 x 60 caractères (et de jolis graphismes). Je suis donc parti à la recherche d'un moyen d'empêcher le noyau invité de démarrer le framebuffer. J'ai essayé une variété de paramètres du noyau, nomodeset, fb=false, vga=0x0FF, vga=ask (et en sélectionnant ensuite un VGA Plutôt qu'un VESA mode), en vain: à chaque fois qemu-kvm -curses indique que l'invité est en "mode graphique" (après les menus de démarrage initiaux) et que je ne parviens pas à interagir avec l'invité à partir d'un terminal en ligne de commande de l'hôte.

Existe-t-il un moyen simple de conserver le noyau invité dans le même mode que celui dans lequel il démarre (sans framebuffer) sans modifier un paramètre de construction du noyau? Si ce n'est pas le cas, quelles options de construction du noyau dois-je changer pour compiler un noyau sans la prise en charge du framebuffer? Existe-t-il un meilleur moyen d'obtenir une connexion de machine virtuelle à partir d'un terminal de l'hôte en mode texte pur (adapté pour s'exécuter dans une session d'écran sur l'hôte, par exemple) sans recourir à l'exécution de sshd sur l'invité?


6
2018-02-17 04:53


origine




Réponses:


Donc, le module sous-jacent qui doit être désactivé est fbconCependant, le noyau d’Arch ne le compile pas en tant que module, il doit donc être mis sur liste noire. Il est peut-être encore possible d’identifier et de désactiver le pilote particulier qui fbcon lance mais aucun tel pilote est répertorié par lsmod, alors qemu-kvmLe pilote de est compilé dans Arch. Pour désactiver fbcon lui-même, vous devez utiliser sa propre syntaxe étrange d'option de démarrage:

fbcon=map:99

99 est juste un nombre arbitrairement grand qui est supérieur au nombre de périphériques framebuffer sur le système (généralement 1-2).

Voir fbcon.txt pour plus d'informations.


4
2018-02-25 19:48





vga16fb.modeset=0 travaillé pour moi dans le passé (sous Ubuntu). Également dans Ubuntu, la liste noire de tous les modules de framebuffer (vga16fb inclus) a également fonctionné.


1
2018-02-24 20:46



vga16fb.modeset=0 ne semblait rien faire dans Arch. Je vais essayer de mettre les modules de framebuffer en liste noire, comme vous le suggérez. Existe-t-il une bonne référence pour rechercher des modules (en particulier des modules framebuffer) afin de ne pas en manquer? - malloc47
Ubuntu a /etc/modprobe.d/blacklist-framebuffer.conf - sendmoreinfo
Merci! Je l'ai trouvé (ou quelque chose qui s'en rapproche) ici. Peut l'essayer en plus de désactiver fbcon pour voir où ça me mènera. - malloc47


Essayez de le lancer comme ça:

TERM=dumb qemu-kvm -curses ...

0
2018-02-17 09:36



Pas de chance. Le problème semble être le changement de mode du noyau invité, plutôt que le terminal hôte. - malloc47
@ malloc47: Ah; alors le problème est avec Arch Linux, avec lequel je ne peux pas vous aider. - Teddy