Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
qemu [Le 12/08/2013, 19:21]
amj [Autre installation] --> test d'un live-cd
qemu [Le 11/09/2022, 11:07] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>​émulation virtualisation ​vétuste lucid}}+{{tag>Trusty ​émulation virtualisation}}
  
 ---- ----
  
-====== ​Installation d'​Ubuntu dans « the Qemu emulator » ======+====== ​Utilisation de « the Qemu emulator » ======
  
-<note warning>​FIXME Cette page n'a pas été vérifiée pour les dernières versions supportées d'​Ubuntu. Si vous pouvez valider ces informations ou les compléter, merci d'​éditer cette page et de rajouter le tag de la version d'​Ubuntu sur laquelle cela fonctionne.</​note>​ +[[https://wiki.qemu.org/Index.html|Qemu]] est un émulateur de matériel, capable de simuler une architecture x86, et partiellement les architectures PPC, ARM et SPARC. 
- +**Qemu** émule tout, y compris le microprocesseur,​ c'est pourquoi il est souvent plus lent que le système hôte. Cependant, la virtualisation vous permet de rentabiliser le temps processeur libre en multipliant les OS.  D'​autre part, c'est une très bonne manière d'​examiner une distribution sans devoir réinstaller,​ formater ou partitionner.
-[[http://fabrice.bellard.free.fr/qemu|Qemu]] est un émulateur de matériel, capable de simuler une architecture x86, et partiellement les architectures PPC, ARM et SPARC. +
-**Qemu** émule tout, y compris le microprocesseur,​ c'est pourquoi il est souvent plus lent que le système hôte. Cependant, la virtualisation vous permet de rentabiliser le temps processeur libre en multipliant les OS.  D'​autre part, c'est une très bonne manière d'​examiner une distribution sans devoir réinstaller,​ formater ou partitionner. ​+
 Il existe néanmoins: Il existe néanmoins:
   * une extension, nommée **kqemu**, qui vous permettra d'​accélérer sensiblement les performances de cet émulateur grâce à des techniques plus avancées indépendamment de votre processeur.   * une extension, nommée **kqemu**, qui vous permettra d'​accélérer sensiblement les performances de cet émulateur grâce à des techniques plus avancées indépendamment de votre processeur.
-  * le projet [[kvm]], basé sur Qemu, qui permet de tirer parti d'un jeu d'​instruction de certains ​processeur, offrant des performances redoutables lors de l'​émulation d'un processeur identique à la plate-forme hôte.+  * le projet [[kvm]], basé sur Qemu, qui permet de tirer parti d'un jeu d'​instruction de certains ​processeurs, offrant des performances redoutables lors de l'​émulation d'un processeur identique à la plate-forme hôte.
  
-Dans le même genre, il existe [[:​vmware|les produits de virtualisation de VMWare]] ([[:VMWare Player]] et [[:VMWare Workstation]]) ou [[virtualbox]]. Ce dernier étant le plus simple et le plus rapide (il utilise d'​ailleurs du code de qemu, mais possède une interface qui le rend plus simple à manipuler)+Dans le même genre, il existe [[:​vmware|les produits de virtualisation de VMWare]] ([[:VMWare Player]] et [[:VMWare Workstation]]) ou [[virtualbox]]. Ce dernier étant le plus simple et le plus rapide (il utilise d'​ailleurs du code de qemu, mais possède une interface qui le rend plus simple à manipuler).
  
 +Dans un genre proche, il existe des systèmes de virtualisations "​légers"​ sous linux, qui utilisent mieux les ressources des systèmes hôtes tels que  LXC, [[:​LXD|LXD]],​ ainsi que des technologies proches telles que [[docker]].
  
-===== Installation ===== 
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>qemu-kvm|qemu-kvm]]**.+===== Installation de qemu =====
  
-<note important>:​-P Sous ubuntu 12.04 la commande "​qemu"​ ne fonctionne pas il faut utiliser "​qemu-system-i386"​ ou "​qemu-system-x86_64"​.</​note>​+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​qemu-kvm|qemu-kvm]]** 
 +ou depuis raring 
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​qemu|qemu]]**. 
 + 
 +<note important>:​-P Sous Ubuntu 14.04 la commande "​qemu"​ ne fonctionne pas il faut utiliser "​qemu-system-i386"​ ou "​qemu-system-x86_64" ​ou créer le lien comme ci-dessous.</​note>​
 Pour obtenir une compatibilité avec des scripts ou des commandes déjà existantes, il est nécessaire de recréer la commande "​qemu"​ en fonction de votre architecture avec : Pour obtenir une compatibilité avec des scripts ou des commandes déjà existantes, il est nécessaire de recréer la commande "​qemu"​ en fonction de votre architecture avec :
-<​code>​sudo ln -s /​usr/​bin/​qemu-system-i386 /usr/sbin/​qemu</​code>​+<​code>​ sudo ln -s /​usr/​bin/​qemu-system-i386 /usr/bin/​qemu</​code>​
 ou ou
-<​code>​sudo ln -s /​usr/​bin/​qemu-system-x86_64 /usr/sbin/​qemu</​code>​+<​code>​ sudo ln -s /​usr/​bin/​qemu-system-x86_64 /usr/bin/​qemu</​code>​
  
-===== Préparation ​=====+===== Essai d'un live-cd ​=====
  
-  * Téléchargez [[http://​www.ubuntulinux.org/​download | l'​image ISO d'​Ubuntu]]. Notez qu'il ne vous sera pas nécessaire de graver cette image. 
-  * Pour obtenir la gestion de réseau pour votre système émulé, vous devez le déclarer. [[http://​www.nongnu.org/​qemu/​qemu-doc.html#​SEC29 | Le linux-test-xxx...]] ​ , sur le site de **qemu**, est un script à mettre parmi vos scripts réseaux. C'est une méthode simplifiée pour l'​entrée dans un terminal de la commande ci-dessous : 
-<​code>​ 
-$ sudo /​sbin/​ifconfig eth0 172.20.0.1 
-</​code>​ 
-  * Nous avons besoin également d'un disque virtuel pour notre système. Créez un disque simplement en créant un dossier de la taille souhaitée, avec la commande ci-dessous : 
-<​code>​ 
-$ dd of=ubuntuimage bs=1024 seek=10485760 count=0 
-</​code>​ 
  
-Cette commande créera ​un //fichier de 10 Go// qui deviendra un disque virtuel. Cette taille ​est exagérée si vous voulez juste essayer la distributionune installation basique utilise environ ​de 1.5 Go d'espace disque, et comptez 3 à 4 Go pour le reste des fichiers.+Téléchargez donc une image ISO d'un LiveCD (DSL par exemple ​qui est très compactemoins de 50 Mo, ou bien sûr Ubuntu pour faire des tests avec quelques minutes ​d'attente ​pour le démarrage dans la machine virtuelle !).
  
-Il est également possible d'​utiliser ​l'outil //​qemu-img//​ tirant parti du format qcow afin d'​économiser l'​espace disque consommé par le disque virtuel. De plus sa syntaxe est plus compréhensible ​: +Puis sans créer un CD ROM, démarrez ​l'ISO avec la commande suivante (à adapter) ​:<​code>​ 
-<​code>​ +qemu-system-i386 -cdrom /​répertoire_de_l'​iso/​imageISO.iso -m 1024</​code>​
-qemu-img create ​-f qcow ubuntuimage 10G +
-</​code>​+
  
-===== Installation d'Ubuntu=====+Aller dans la fenêtre de l'émulateur Qemu en cliquant dessus.
  
-Lancez ​la commande suivante ​:+Pour quitter ​la console virtuelle ​**Ctrl + alt**
  
-<​code>​ +Pour le mode plein écran (plus rapide) de Qemu : **Ctrl + alt + f**
-$ qemu -hda ubuntuimage -cdrom ubuntu-i386.iso -m 192 -boot d +
-</​code>​+
  
-Cette commande définit le disque dur virtuel comme l'​image //​ubuntuimage//​ (créée précédemment),​ le cédérom avec l'​image ISO de notre cédérom téléchargé //​ubuntu-i386.iso//​ (à adapter en fonction de l'​image téléchargée),​ indique comme taille de mémoire RAM //192//, et enfin définit l'​option de démarrage sur le lecteur //d//, qui est ici le lecteur de cédérom virtuel. 
  
-**Note**: Allouer une taille mémoire trop faible, comme trop grande, aura pour conséquence ​l'instabilité ​de votre système, ainsi que la lenteur de l'​émulationC'est pourquoi ​une grosse quantité ​de mémoire sur le système hôte est préférable+Simple et efficace (même sans l'optimisation ​de kqemu)Il est possible de tester toutes sortes de distributions GNU/Linux et même d'​avoir ​une [[https://​help.ubuntu.com/​community/​WindowsXPUnderQemuHowTo|machine virtuelle ​de Microsoft Windows XP]].
  
-L'​installation de Ubuntu devrait démarrer. Regardez les messages au démarrage et choisissez les options par défaut. Dans des conditions optimales, l'​installeur détecte le réseau virtuel correctement et l'​installation doit se finir. 
-À la fin de cette dernière, Ubuntu essaiera de redémarrer,​ **ce qui échouera**. 
  
-Sortez de l'émulateur en entrant //quit// dans //the emulator console// (pour accéder à la console, appuyer sur Ctrl+Alt+2),​ et exécutez la commande+===== Préparation à l'installation d'​ubuntu =====
  
-<​code>​ +  * Téléchargez [[http://​www.ubuntu-fr.org/​telechargement | l'​image ISO d'​Ubuntu]]. Notez qu'il ne vous sera pas nécessaire de graver cette image. 
-    ​qemu ​-hda ubuntuimage -cdrom warty-i386.iso ​-m 192 +   * FIXME: à vérifier. Pour obtenir la gestion de réseau pour votre système émulé, vous devez le déclarer. [[http://​www.nongnu.org/​qemu/​qemu-doc.html#​SEC29 | Le linux-test-xxx...]] ​ , sur le site de **qemu**, est un script à mettre parmi vos scripts réseaux. C'est une méthode simplifiée pour l'​entrée dans un terminal de la commande ci-dessous :<​code>​ 
-</​code>​+ sudo /​sbin/​ifconfig eth0 172.20.0.1</​code>​ 
 +  * Nous avons besoin également d'un disque virtuel pour notre système. Créez un disque simplement en créant un dossier de la taille souhaitée, avec la commande ci-dessous :<​code>​ 
 +  dd of=ubuntuimage ​bs=1024 seek=10485760 count=0</​code>​ 
 +ou avec qemu-img: <​code>​ 
 + qemu-img create ​-f raw ubuntuimage 10G </​code>​
  
-Notez que nous avons enlevé le paramètre ​de démarrage, ainsi l'​émulateur démarrera sur l'​Ubuntu du disque virtuel. ​Suivez les indications ​de l'​installeur et créez un utilisateurL'​installeur ​d'Ubuntu cherchera alors des mises-à-jour et ajoutera les paquets additionnels. Ceci devrait prendre un certain temps.+Cette commande créera un //​fichier ​de 10 Go// qui deviendra un disque virtuel. ​Cette taille est exagérée si vous voulez juste essayer la distribution,​ une installation basique utilise environ ​de 1.5 Go d'espace disque, et comptez 3 à 4 Go pour le reste des fichiers.
  
-À un moment précis de l'installation,​ Ubuntu devrait installer toute la documentation nécessaire. Ceci devrait prendre un temps très long, dans mon cas une heure. Aussi ne vous inquiétez pas, l'installation n'a pas mal tourné ;-).+Il est également possible d'utiliser le format qcow afin d'​économiser ​l'espace disque consommé par le disque virtuel :<​code>​ 
 +qemu-img create ​-f qcow2 ubuntuimage 10G</​code>​
  
-La configuration de X est très simple. La seule question est le choix de la résolution vidéo. Laissez les paramètres par défaut, car la vidéo virtuelle ne supporte pas les résolutions plus élevées que celles déjà paramétrées+===== Installation d'​Ubuntu=====
  
-===== Test d'un live-cd =====+Lancez la commande suivante :<​code>​ 
 +qemu -hda ubuntuimage -cdrom ubuntu-i386.iso -m 1024 -boot d</​code>​
  
 +Cette commande définit le disque dur virtuel comme l'​image //​ubuntuimage//​ (créée précédemment),​ le cédérom avec l'​image ISO de notre cédérom téléchargé //​ubuntu-i386.iso//​ (à adapter en fonction de l'​image téléchargée),​ indique comme taille de mémoire RAM //1024//, et enfin définit l'​option de démarrage sur le lecteur //d//, qui est ici le lecteur de cédérom virtuel.
  
-Téléchargez donc une image ISO d'un LiveCD (DSL par exemple qui est très compactemoins de 50 Moou bien sûr Ubuntu ​pour faire des tests avec quelques minutes d'attente pour le démarrage dans la machine virtuelle !). +**Note**: Allouer ​une taille mémoire trop faiblecomme trop grandeaura pour conséquence l'instabilité de votre systèmeainsi que la lenteur ​de l'émulationC'​est ​pourquoi ​une grosse quantité ​de mémoire sur le système hôte est préférable
- +
-Puis sans créer un CD ROMutilisez votre disque dur avec la commande suivante (à adapter) : +
- +
-<​code>​ +
-qemu-system-i386 -cdrom /​répertoire_de_l'​iso/​imageISO.iso -m 1024 -boot d -localtime -k fr -soundhw all -usb +
-</​code>​ +
- +
-Aller dans la fenêtre ​de l'émulateur Qemu en cliquant dessus. +
- +
-Pour quitter la console virtuelle : **Ctrl + alt** +
- +
-Pour le mode plein écran (plus rapide) de Qemu : **Ctrl + alt + f** +
- +
- +
-Simple et efficace (même sans l'optimisation de kqemu). Il est possible de tester toutes sortes de distributions GNU/Linux et même d'​avoir ​une [[https://​help.ubuntu.com/​community/​WindowsXPUnderQemuHowTo|machine virtuelle ​de Microsoft XP]].+
  
 +L'​installation de Ubuntu devrait démarrer. L'​instalation devrait se dérouler normalement exepté au redémarage où il faudra retirer l'iso :
  
 +Sortez de l'​émulateur en entrant //quit// dans //the emulator console// (pour accéder à la console, appuyer sur Ctrl+Alt+2),​ et exécutez la commande: <​code>​
 +qemu -hda ubuntuimage -m 1024</​code>​
  
 +Notez que nous avons enlevé le cdrom au démarrage, ainsi l'​émulateur démarrera sur l'​Ubuntu du disque virtuel.
  
 ===== Usage ===== ===== Usage =====
  
-Tout d'​abord,​ faire tourner un OS sur un émulateur matériel n'est pas le rêve, simplement lent. Ne comptez pas faire des exploits seulement avoir un système pour des essais. ​Ma machine est un portable Pentium 1.7Ghz, et Ubuntu fonctionne - ou flâne - plutôt donner des sédatifs. ;-)+Tout d'​abord,​ faire tourner un OS sur un émulateur matériel n'est pas le rêve, ​c'​est ​simplement lent. Ne comptez pas faire des exploits ​mais seulement avoir un système pour des essais.
  
 Que dire, même sur un système réduit au niveau matériel, il est cependant assez rapide pour examiner la distribution,​ peut-être installer quelques paquets, voir comment elle va dans l'​ensemble. Que dire, même sur un système réduit au niveau matériel, il est cependant assez rapide pour examiner la distribution,​ peut-être installer quelques paquets, voir comment elle va dans l'​ensemble.
Ligne 113: Ligne 95:
 Pour avoir accès au réseau depuis sa machine virtuelle il faut configurer qemu pour qu'il intègre une carte réseau dans la machine virtuelle. Pour avoir accès au réseau depuis sa machine virtuelle il faut configurer qemu pour qu'il intègre une carte réseau dans la machine virtuelle.
  
-Pour avoir une carte réseaux avec un chipset relativement connu ajoutez les paramètres suivants à la commande qemu: +Pour avoir une carte réseaux avec un chipset relativement connu ajoutez les paramètres suivants à la commande qemu:<​code>​-net user -net nic,​model=ne2k_pci</​code>​
- +
-<​code>​-net user -net nic,​model=ne2k_pci</​code>​+
 ==== Partage SAMBA ==== ==== Partage SAMBA ====
  
Ligne 134: Ligne 114:
 ==== Périphérique USB ==== ==== Périphérique USB ====
  
-Si vous n'avez pas le fichier /proc/​bus/​usb/​devices (bug [[https://​bugs.launchpad.net/​ubuntu/​+source/​qemu/​+bug/​156085|156085]]),​ utilisez la commande suivante : +Si vous n'avez pas le fichier /dev/​bus/​usb/​devices (bug [[https://​bugs.launchpad.net/​ubuntu/​+source/​qemu/​+bug/​156085|156085]]),​ utilisez la commande suivante :<​code>​ 
-<​code>​sudo mount -t usbfs none /proc/​bus/​usb</​code>​+sudo mount -t usbfs none /dev/​bus/​usb</​code>​
  
-Ensuite, utilisez la commande suivante, pour que qemu puisse prendre le contrôle des périphériques usb : +Ensuite, utilisez la commande suivante, pour que qemu puisse prendre le contrôle des périphériques usb :<​code>​ 
-<​code>​sudo chown $USER -R /proc/​bus/​usb</​code>​+sudo chown $USER -R /dev/​bus/​usb</​code>​
  
-<note important>​Il semble que sur les versions récentes (10.10le répertoire **/proc/​bus/​usb** ​soit remplacé par **/dev/​bus/​usb**</​note>​+<note important>​Pour les version antérieure à 10.10 le répertoire **/dev/​bus/​usb** ​doit être remplacé par **/proc/​bus/​usb**</​note>​
  
 Lancez qemu en rajoutant sur la ligne de commande ''​-usb''​ et ''​-usbdevice host:<​vid>:<​pid>''​ où vous obtiendrez <​vid>:<​pid>​ à partir de la commande ''​$ lsusb''​. Lancez qemu en rajoutant sur la ligne de commande ''​-usb''​ et ''​-usbdevice host:<​vid>:<​pid>''​ où vous obtiendrez <​vid>:<​pid>​ à partir de la commande ''​$ lsusb''​.
Ligne 147: Ligne 127:
 ==== L'ACPI ralentit énormément la machine virtuelle ==== ==== L'ACPI ralentit énormément la machine virtuelle ====
  
-Il faut indiquer à qemu de ne pas utiliser l'ACPI : voir [[http://​kvm.qumranet.com/​kvmwiki/​Windows_ACPI_Workaround|ici]]. +Il faut indiquer à qemu de ne pas utiliser l'ACPI : voir [[http://​kvm.qumranet.com/​kvmwiki/​Windows_ACPI_Workaround|ici]].<​code>​ 
- +-no-acpi</​code>​
-<​code>​-no-acpi</​code>​+
  
 ==== Son ==== ==== Son ====
-Le son ne marche en général pas avec les options par défaut. Pour activer le son j'ai du rajouter l'​option +Le son ne marche en général pas avec les options par défaut. Pour activer le son il faut rajouter l'​option<​code>​ 
-<​code>​-soundhw all</​code>​+-soundhw all</​code>​
 à la ligne de commande à la ligne de commande
  
 +==== Allocation de mémoire vive ====
 +Qemu n'​alloue par défaut que peu de mémoire (128 Mo). Rajouter l'​option suivante pour allouer 1Go :<​code>​
 + -m 1024</​code>​
 +N'​allouez pas plus de la moitié de la mémoire de votre système.
  
-==== Changer ​les cdrom quand la machine ​est lancée ​====+==== La console de qemu ==== 
 +Il est possible d'​employer de nombreuses commandes via la console de qemu accessible via le raccourci ​ clavier CTRL+ALT+SHIFT+2 . (Pour retourner dans la vm le raccourci est CTRL+ALT+SHIFT+1) 
 + 
 +=== Changer ​de cd pendant l'​exécution === 
 +Exécutez ​la commande suivante dans la console qemu afin de connaître les périphériques:​ 
 +<​code>​ 
 +(qemu) info block 
 +</​code>​ 
 + 
 +Voici le résultat lorsqu'​un cd-rom ​est déjà monté : 
 + 
 +<​code>​ 
 +ide1-cd0: removable=1 locked=0 tray-open=0 io-status=ok file=cd1.iso ro=1 drv=raw encrypted=0 
 +floppy0: removable=1 locked=0 tray-open=0 [not inserted] 
 +sd0: removable=1 locked=0 tray-open=0 [not inserted] 
 +</​code>​ 
 + 
 +Éjectez le cd (dans certains cas le nom //​ide1-cd0//​ est à remplacer par //cdrom//) : 
 +<​code>​ 
 +(qemu) eject ide1-cd0 
 +(qemu) info block 
 +ide1-cd0: removable=1 locked=0 tray-open=0 [not inserted] 
 +floppy0: removable=1 locked=0 tray-open=0 [not inserted] 
 +sd0: removable=1 locked=0 tray-open=0 [not inserted] 
 +</​code>​ 
 + 
 +Montez le nouveau cd: 
 +<​code>​ 
 +(qemu) change ide1-cd0 cd2.iso 
 +(qemu) info block 
 +ide1-cd0: removable=1 locked=0 tray-open=0 file=cd2.iso ro=1 drv=raw encrypted=0 
 +floppy0: removable=1 locked=0 tray-open=0 [not inserted] 
 +sd0: removable=1 locked=0 tray-open=0 [not inserted] 
 +</​code>​ 
 + 
 +Cette procédure peux s'​appliquer à d'​autres périphériques.
  
-FIXME : reprendre http://​www.h7.dion.ne.jp/​~qemu-win/​HowToFloppyCdrom-en.html 
  
 ==== Installer une interface graphique : qemu-launcher ==== ==== Installer une interface graphique : qemu-launcher ====
 [[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​qemu-launcher|qemu-launcher]] [[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] [[apt://​qemu-launcher|qemu-launcher]]
  
 +
 +==== VFIO Passthrough ====
 +
 +Lire la Documentation : https://​doc.ubuntu-fr.org/​vfio
 ===== Liens supplémentaires ===== ===== Liens supplémentaires =====
-  * [[http://wiki.qemu.org/Index.html|Site officiel de Qemu]]+  * [[https://www.qemu.org|Site officiel de Qemu]] 
 +  * Monter une image disque qcow, qed, etc directement sur l'​hôte : [[http://​blog.vmsplice.net/​2011/​02/​how-to-access-virtual-machine-image.html|en utilisant qemu-nbd]].
  
 ---- ----
  
-//​Contributeurs : Rédigé par [[contributeurs|les contributeurs d'​Ubuntu-fr]],​ [[utilisateurs:​methu|methu]] et [[utilisateurs:​kmeleon|Kmeleon]],​ [[utilisateurs:​Id2ndR]].//​+//​Contributeurs : Rédigé par [[contributeurs|les contributeurs d'​Ubuntu-fr]],​ [[utilisateurs:​methu|methu]] et [[utilisateurs:​kmeleon|Kmeleon]],​ [[utilisateurs:​Id2ndR]] ​, [[utilisateurs:​dexter74|dexter74]] (VFIO).//
  • qemu.1376328097.txt.gz
  • Dernière modification: Le 12/08/2013, 19:21
  • par amj