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. :)
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.
Installer SGABIOS - ISTR que les versions récentes de Qemu l'utilisent automatiquement lorsqu'il est exécuté avec -nographic
.
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
GRUB_CMDLINE_LINUX=""
à GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,9600n8"
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