Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:vm:qemu [13/08/2023 23:56] captnfab |
doc:systeme:vm:qemu [14/08/2023 19:19] captnfab |
||
---|---|---|---|
Ligne 23: | Ligne 23: | ||
puis on installe qemu : | puis on installe qemu : | ||
<code root>apt-get install qemu-system qemu-utils qemu-system-gui</code> | <code root>apt-get install qemu-system qemu-utils qemu-system-gui</code> | ||
+ | |||
+ | ===== Prérequis ===== | ||
+ | |||
+ | Pour gagner en fluidité, Qemu utilise KVM. | ||
+ | |||
+ | {{/file-R70e5a6a5358a997ac6e5da2364abd1cf.png}} | ||
+ | |||
+ | * ''KVM'' est un [[http://fr.wikipedia.org/wiki/Hyperviseur | hyperviseur de type 1]] ("bare metal") qui permet à Qemu la virtualisation simultanée de différents systèmes d'exploitation sur la même machine hôte. | ||
+ | * ''KVM'' est un module du noyau Linux permettant aux applications de l'espace utilisateur d'utiliser les fonctionnalités de virtualisation matérielle. | ||
+ | * ''KVM'' permet à Qemu de virtualiser une architecture sur un hôte de même architecture et exploitera alors pleinement l'accélération matérielle que ''KVM'' pourra lui apporter. | ||
+ | * L'accélération matérielle par ''KVM'' ne sera possible que pour les microprocesseurs pourvu de la technologie ''Intel VT-x'' et ''AMD-V''. | ||
+ | * L'accès direct au matériel (bus PCI, Carte Graphique, etc..) depuis les machines virtuelles nécessitera aussi que la carte mère soit équipée d'un //chipset// permettant d'exploiter la technologie ''IOMMU'' (**I**nput/**O**utput **M**emory **M**anagement **U**nit) de ces microprocesseur. => ''Intel Vt-d'' et ''AMD-Vi''. | ||
+ | |||
+ | Pour vérifier que le microprocesseur de votre machine permet la virtualisation avec ''KVM'' | ||
+ | <code user>grep -E 'vmx|svm' /proc/cpuinfo &>/dev/null && echo "La virtualisation est possible sur cette machine." || echo "Le microprocesseur de cette machine ne permet pas d'utiliser la virtualisation avec KVM."</code> | ||
+ | |||
+ | Et assurez-vous ensuite que les option du [[:doc:materiel:bios | BIOS]] concernant ces technologies de virtualisation sont activées. | ||
+ | |||
+ | //Merci à //**bendia**// pour ses remarques sur ce tuto [[http://debian-facile.org/forum/viewtopic.php?pid=44629#p44629 | dans le forum]] // | ||
+ | |||
+ | N'hésitez pas chacun à intervenir dans le forum pour __signaler des compléments à mettre ou à modifier__ dans les tutos que vous visitez ! ;-) | ||
+ | |||
===== Configuration ===== | ===== Configuration ===== | ||
Ligne 36: | Ligne 58: | ||
En fait, on parle plus généralement d'architecture. | En fait, on parle plus généralement d'architecture. | ||
- | Si l'on est sur un ordinateur fixe, il y a de grandes chances pour que l'architecture soit x86_64, c'est ce que debian appelle ''amd64'' et correspond aux processeurs 64bits communs. | + | * Si l'on est sur un ordinateur fixe, il y a de grandes chances pour que l'architecture soit x86_64, c'est ce que debian appelle ''amd64'' et correspond aux processeurs 64bits communs. |
- | Si l'on est sur un ordinosaure fixe, alors il est possible que l'architecture soit x86, c'est ce que debian appelle 'i386'' et correspond aux processeurs 32bits du début du siècle. | + | * Si l'on est sur un ordinosaure fixe, alors il est possible que l'architecture soit x86, c'est ce que debian appelle ''i386'' et correspond aux processeurs 32bits du début du siècle. |
- | Si l'on est sur un smartphone, alors on est très probablement sur une architecture arm64. | + | * Si l'on est sur un smartphone, alors on est très probablement sur une architecture arm64. |
Là, la question que l'on doit se poser est: « Quelle est l'architecture de la machine que je veux simuler ? » Donc si l'on veut installer un Android, c'est probablement arm64, mais si l'on veut installer une debian sid pour tester, il y a des chances que ça reste x86_64. | Là, la question que l'on doit se poser est: « Quelle est l'architecture de la machine que je veux simuler ? » Donc si l'on veut installer un Android, c'est probablement arm64, mais si l'on veut installer une debian sid pour tester, il y a des chances que ça reste x86_64. | ||
Ligne 59: | Ligne 81: | ||
Souvent, on crée des images disques avec ''qemu-img''. Il permet en particulier de manipuler les images au format ''.qcow2'' ou de convertir des images faites pour d'autres logiciels de VM. | Souvent, on crée des images disques avec ''qemu-img''. Il permet en particulier de manipuler les images au format ''.qcow2'' ou de convertir des images faites pour d'autres logiciels de VM. | ||
+ | |||
+ | Exemple: | ||
+ | <code user>qemu-img create -f qcow2 hdd.qcow2 20G</code> | ||
+ | Où : | ||
+ | * ''hdd.qcow2'' est le nom du fichier //image disque// qui va être créé. | ||
+ | * ''10G'' sera la taille **virtuelle** de l'espace disponible dans ce **disque virtuel**. | ||
+ | |||
+ | <note tip>Le format **qcow2**((**Q**emu **C**opy **O**n **W**rite version **2**)) est un format d'espace de stockage //optimisé//, c'est à dire que l'espace occupé par le fichier //image disque// sera très nettement inférieur à l'espace disponible sur le support de données, mais à mesure que des données seront écrites sur le //disque// la taille du fichier va augmenter.</note> | ||
+ | |||
+ | <note important>**ATTENTION** ! qemu utilise l'unité Gio, mais certains installateurs tels celui de Debian utilise l'unité Go : | ||
+ | * 1 Go = 10<sup>9</sup> octets | ||
+ | * 1 Gio = 2<sup>30</sup> octets = 1,073741824 Go | ||
+ | et donc 10 Gio correspondront à 10,7 Go. | ||
+ | |||
+ | //Un grand merci à //**vince06fr**//, [[http://debian-facile.org/viewtopic.php?pid=54073#p54073| sur le forum là]] ! Lucide, le gars// =) | ||
+ | </note> | ||
Il est important de choisir un support de stockage dont la taille et la vitesse correspondent à ce que l'on veut faire. | Il est important de choisir un support de stockage dont la taille et la vitesse correspondent à ce que l'on veut faire. | ||
Ligne 83: | Ligne 121: | ||
Exemple : | Exemple : | ||
- | Si la commande [[:doc:systeme:lsusb|''lsusb'']] retourne la ligne suivante : | + | Si la commande ''[[:doc:systeme:lsusb|lsusb]]'' retourne la ligne suivante : |
<file config retour de la commande>Bus 007 Device 003: ID 0b97:7772 Blahhhhhhhhhh</file> | <file config retour de la commande>Bus 007 Device 003: ID 0b97:7772 Blahhhhhhhhhh</file> | ||
Ligne 115: | Ligne 153: | ||
On le rend exécutable : | On le rend exécutable : | ||
- | <code root> | + | <code user> |
chmod a+x "launch_vm.sh" | chmod a+x "launch_vm.sh" | ||
</code> | </code> | ||
Ligne 133: | Ligne 171: | ||
</code> | </code> | ||
- | ===== Aller plus loin : faire des tests sans pourrir sa config ===== | + | ===== Aller plus loin ===== |
+ | |||
+ | ==== Faire des tests sans pourrir sa config ==== | ||
Si on utilise sa vm pour tester des logiciels non stables, on n'a certainement pas envie de <del>foutre en l'air,</del> <del>détruire,</del> perdre sa jolie installation vierge toute belle toute neuve sur sa machine virtuelle. | Si on utilise sa vm pour tester des logiciels non stables, on n'a certainement pas envie de <del>foutre en l'air,</del> <del>détruire,</del> perdre sa jolie installation vierge toute belle toute neuve sur sa machine virtuelle. | ||
Ligne 150: | Ligne 190: | ||
Et voilà, maintenant, ''launch_vm.sh'' utilisera ''hdd.qcow2'' sans modifier ''hdd-base.qcow2'' | Et voilà, maintenant, ''launch_vm.sh'' utilisera ''hdd.qcow2'' sans modifier ''hdd-base.qcow2'' | ||
- | ===== Quelques raccourcis indispensables ===== | + | ==== Quelques raccourcis indispensables ==== |
^ //RACCOURCIS CLAVIER// ^ //ACTION// ^ | ^ //RACCOURCIS CLAVIER// ^ //ACTION// ^ | ||
Ligne 162: | Ligne 202: | ||
http://lea-linux.org/documentations/index.php/Software-soft_emul-qemu | http://lea-linux.org/documentations/index.php/Software-soft_emul-qemu | ||
+ | ==== Faire une installation à distance ==== | ||
+ | |||
+ | Si vous procédez à une installation distante, rajouter à la fin de la ligne: | ||
+ | <code bash>--vnc :0 -k fr</code> | ||
+ | |||
+ | Ainsi, vous devriez pouvoir vous connecter via un client VNC tout en gardant une disposition clavier AZERTY ;) | ||
+ | |||
+ | ===== Tutos ==== | ||
+ | |||
+ | - [[:doc:systeme:vm:qemu:tuto:installation_windows|Installation de Fenêtre XP sur une VM]] | ||
+ | - [[:doc:systeme:vm:qemu:tuto:installation_slackware|Installation de Slackware sur une VM]] | ||
===== Références ===== | ===== Références ===== | ||
- ''man qemu'' (anglais) | - ''man qemu'' (anglais) | ||
- http://www.esaracco.fr/documentation/qemu/qemu/ (ou en [[http://esaracco.free.fr/documentations/qemu/qemu.pdf|pdf]]) sur le site http://www.esaracco.fr/ | - http://www.esaracco.fr/documentation/qemu/qemu/ (ou en [[http://esaracco.free.fr/documentations/qemu/qemu.pdf|pdf]]) sur le site http://www.esaracco.fr/ |