Je veux utiliser QEMU
pour déboguer mon noyau compilé linux-4.13.4
sur Ubuntu 16.04.3 LTS
Je suis les étapes suivantes:
Sudo apt-get install qemu
qemu-system-x86_64 -s -S -kernel /home/wxf/kernelSources/linux-4.13.4/Arch/x86_64/boot/bzImage -initrd /boot/initrd.img-4.13.4
Remarque:
-s raccourci pour -gdb tcp :: 1234
-S geler la CPU au démarrage (utilisez 'c' pour lancer l'exécution)
Mais je reçois l'avertissement suivant:
warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
Le terminal s’arrête là et je ne peux pas entrer d’autres commandes.
La fenêtre QEMU apparaît lorsque je l'exécute, mais elle est arrêtée.
Comment éliminer l'avertissement et est-ce normal (puisqu'il ne s'agit pas d'une information d'erreur)?
Franchement, je ne sais pas comment gérer cet avertissement, peut-il être ignoré ou vous laisser faire quelque chose avec. Mais je suppose que le principal problème est que vous ne pouvez pas exécuter la machine virtuelle. Si tel est le cas, vous devez déterminer correctement où entrer cette c
pour démarrer la machine virtuelle. :)
QEMU possède plusieurs interfaces graphiques (et AFAIK peut même être exécuté en console simple). Supposons que nous ayons des valeurs par défaut identiques pour lesquelles l'interface utilisateur doit être utilisée (probablement celle de GTK). Lorsque je lance une commande similaire (qemu-system-x86_64 -s -S -kernel ...
), je peux basculer vers la console de contrôle de QEMU en appuyant sur Ctrl + Alt + 2 (seulement 2, pas F2). Là, j'appuie sur c
(et Entrée, il semble se comporter comme un terminal ordinaire), puis je passe à l'affichage VM par Ctrl + Alt + 1.
J'ai eu ce problème, ou quelque chose de très similaire. Il donnait le même avertissement et, bien qu’il s’amorce ensuite, il était exceptionnellement lent.
Je l'ai corrigé en ajoutant -machine ubuntu,accel=kvm
à la ligne de commande qemu-system-x86_64
.
Vous avez omis d'indiquer la taille RAM à utiliser par la machine virtuelle. La valeur par défaut RAM allouée par qemu est 128M, ce qui dans votre cas n'était pas suffisant, je suppose. Essayer de passer
-m 512
Je reçois le code source de son site Web, en construisant à partir du code source et je reçois la dernière version
Et suivez les instructions de sa page wiki
Ensuite, ça marche.