web-dev-qa-db-fra.com

Comment démarrer qemu directement dans la console (* pas * en curses ou SDL)

Je me souviens avoir pu démarrer qemu avec uniquement la sortie de l'émulateur de terminal, avec la fenêtre graphique désactivée. Et ici, je ne veux pas dire avec l'interface ncurses, celle-ci est Nice, mais je veux que la sortie coule directement dans mon terminal, pour faciliter le copier-coller.

J'ai essayé:

qemu -nographic binary.img # simply no display
qemu -curses binary.img # Nice text output, but not directly flowing in the terminal
qemu -noframe -curses binary.img # same as above
qemu -nographic -curses binary.img

Je suppose qu'une solution de contournement acceptable serait pour moi de pouvoir redimensionner la console curses pour l'adapter au terminal que j'utilise. En ce moment c'est ennuyeux car il ne correspond pas à la taille du terminal ...

qemu -curses  binary.img



           SeaBIOS (version 1.7.0-20120603_194846-gandalf)



           iPXE (http://ipxe.org) 00:03.0 C900 PCI2.10 PnP PMM+07FC86A0+07F886A0 C900


           Booting from Hard Disk...
           [...]

Remarquez comment l'affichage est en retrait de 12 espaces? Ennuyeux. :)

21
anarcat

Vieille question, mais elle pourrait encore intéresser les gens.

Réponse courte:

qemu -nographic -serial mon:stdio -append 'console=ttyS0' binary.img

ttyS0 valable sur la plupart des PC. ce serait quelque chose de différent sur le système ARM.

Ensuite, le port série et le QEMU sont multiplexés sur votre sortie. Vous pouvez basculer entre eux avec ctrl-A + C + ENTER.

Réponse longue: vérifiez ce blog , c'est génial.

21
Fred

Installer SGABIOS - ISTR que les versions récentes de Qemu l'utilisent automatiquement lorsqu'il est exécuté avec -nographic.

3
sendmoreinfo

Vous pouvez mettre à jour GRUB pour passer les options requises au noyau. J'utilise Ubuntu 18.04, et j'ai fait ce qui suit:

Mettre à jour grub dans le système d'exploitation invité:

  • sudoedit /etc/default/grub
  • Changement GRUB_CMDLINE_LINUX="" à GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,9600n8"
  • courir Sudo update-grub

Redémarrez le système d'exploitation invité à l'aide des éléments suivants:

qemu-system-x86_64 \
  -drive file=ubuntu-18.04-live-server-AMD64.img.qcow2,format=qcow2 \
  -nographic \
  -m 4G \
;

Je recommande d'ajouter -nic user,hostfwd=tcp:127.0.0.1:2222-:22 ou similaire en option, cela activera la connectivité ssh via ssh -p 2222 localhost ce qui donne une interface légèrement plus agréable que la console.

Les options de la console sont copiées à partir de HOWTO série à distance de tldp

1
Julian