logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

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
Prochaine révision Les deux révisions suivantes
doc:systeme:vm:qemu [27/01/2010 11:33]
smolski
doc:systeme:vm:qemu [02/09/2015 17:25]
milou [Quelques raccourcis indispensables]
Ligne 1: Ligne 1:
 +====== Qemu ======
  
 +  * Objet : Qemu
 +  * Niveau requis :​{{tag>​avisé}}
 +  * Commentaires : //logiciel libre de machine virtuelle//
 +  * Suivi : {{tag>​à-tester}}
 +    * Création par [[user>​captnfab]] le 17/08/2009
 +    * Testé par .... le ....
 +  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=2256 |C'est ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
 +
 +===== Résumé =====
 +
 +Ce logiciel permet d’émuler un ou plusieurs ordinateurs sur votre propre machine, vous permettant par exemple d’installer une Debian pour tester la future version, ou d’installer un autre système d’exploitation :
 +  * distribution Linux,
 +  * os à base de noyau BSD,
 +  * système propriétaire.
 +  * ...
 +Il permet même d'​émuler plusieurs architecture (arm, cris, i386, m68k, mips, mips64, ppc, ppc64, x86_64, et d'​autres !)
 +
 +
 +===== Prérequis =====
 +
 +Avant d'​installer qemu, assurez-vous d'​avoir les paquets ci-dessous d'​installé sur votre système. Pour cela, tapez la commande suivante
 +
 +<code root>​apt-get install module-assistant</​code>​
 +<code root>​module-assistant prepare</​code>​
 +
 +
 +===== Installation =====
 +
 +Classiquement,​ on commence par mettre à jour la liste des paquets :
 +<code root>​apt-get update</​code>​
 +puis on installe qemu :
 +<code root>​apt-get install qemu</​code>​
 +on compile et installe les modules noyaux :
 +<code root>m-a a-i kqemu</​code>​
 +
 +===== Configuration =====
 +
 +==== Chargement du module ====
 +
 +//Le module kqemu sert à accélérer la pseudo-virtualisation. Les instructions données par la machine simulée par qemu ne sont plus (en grande partie) simulées logiciellement mais directement interprétée par le micro-processeur.//​
 +
 +=== Pour le charger une fois ===
 +<code root>
 +modprobe kqemu
 +</​code>​
 +
 +=== Pour le charger à chaque démarrage ===
 +
 +**Attention,​ il y a deux '>',​ accolés l'un à l'​autre**
 +
 +<code root>
 +echo kqemu >> "/​etc/​modules"​
 +</​code>​
 +
 +==== Répertoire de travail ====
 +
 +On commence par se créer un répertoire de travail, par exemple : ''​~/​vm''​
 +<code root>
 +mkdir -p ~/vm
 +</​code>​
 +
 +===== Création de machine virtuelle =====
 +
 +<code root>
 +cd ~/vm
 +</​code>​
 +
 +Pour faire plus propre, on va maintenant créer un dossier pour la machine en question. ​
 +<code root>
 +mkdir fenetresXP</​code>​
 +<code root>cd fenetresXP
 +</​code>​
 +
 +==== L'​image disque ====
 +
 +On crée une image disque((le format qcow2 nous permet de ne pas créer directement un fichier de 20 Gio mais de n'​allouer l'​espace que lorsqu'​il est requis)) (de 20 Gio((Pour le reste du tuto, on considèrera que 1 Gio = 2<​sup>​10</​sup>​ Mio = 2<​sup>​20</​sup>​ kio = 2<​sup>​30</​sup>​ o)) dans notre exemple)
 +<code root>
 +qemu-img create -f qcow2 base.qcow2 20G
 +</​code>​
 +
 +==== Les périphériques ====
 +
 +Ils sont choisis au lancement de qemu, par le biais d'​options données en ligne de commande
 +
 +=== Pour choisir la carte son ===
 +   -soundhw bla
 +
 +Où bla peut prendre une des valeurs renvoyées par ''​qemu -soundhw ?''​
 +
 +
 +=== Pour changer de carte graphique ===
 +   -vga bla
 +
 +Où bla peut prendre une valeur parmi « cirrus, std, vmware, none »
 +
 +=== Pour l'usb ===
 +  * Active le support de l'usb
 +
 +<code root>​-usb</​code>​
 +
 +  * Et pour ajouter les périphériques USB :
 +
 +   -usbdevice bla
 +
 +//bla// peut être remplacé par
 +  - ''​host:​bus.addr''​ pour affecter un port usb (
 +  - ''​host:​vendor_id:​product_id''​ pour affecter un périphérique
 +
 +Exemple :
 +
 +Si la commande :
 +<code user>​lsusb</​code>​
 +
 +Me renvoie :
 +<file config retour de la commande>​Bus 007 Device 003: ID 0b97:7772 Blahhhhhhhhhh
 +Bus 007 Device 002: ID 0b97:7761 Ploum ploum</​file>​
 +
 +Si je veux monter le port USB sur lequel est branché mon périphérique Blahhhhhhhhhh
 +<code root>​-usbdevice "​host:​007.003"</​code>​
 +
 +Si je veux monter Blahhhhhhhhhh où qu'il soit branché
 +<code root>​-usbdevice "​host:​0b97:​7772"</​code>​
 +
 +
 +=== Nombre de microprocesseurs à allouer à la machine ===
 +   ​ -cpu n
 +(où n représente ce nombre)
 +
 +=== Taille de la mémoire vive à allouer à la machine ===
 +    -m n
 +(où n est cette taille en Mio)
 +
 +=== Et bien d'​autres options, …===
 +… notamment pour le réseau (présent par défaut)
 +Voir man ou documentation en référence.
 +
 +==== Enregistrement des options ====
 +
 +Il est fastidieux de se souvenir des options à chaque lancement, on va donc les enregistrer dans un fichier :
 +<code root>
 +touch "​launch_vm.sh"​
 +</​code>​
 +
 +On édite le fichier de sorte à ce qu'il ressemble à ça :
 +<file fichier launch_vm.sh>​
 +#!/bin/sh
 +qemu -m 256 -soundhw all -vga cirrus -hda ~/​vm/​fenetresXP/​base.qcow2 $*
 +</​file>​
 +
 +On le rend exécutable :
 +<code root>
 +chmod a+x "​launch_vm.sh"​
 +</​code>​
 +
 +==== Lancement de la machine la première fois ====
 +
 +On veut booter sur le CDRom d'​installation,​ donc
 +
 +<code root>
 +./​launch_vm.sh -m 512 -cdrom ~/​mes_isos/​fenetresXP_SP3.iso -boot d
 +</​code>​
 +
 +==== Lancement de la machine les autres fois ====
 +
 +<code bash>
 +./​launch_vm.sh bla
 +</​code>​
 +où //bla// sont les options que vous voulez rajouter.
 +
 +===== Aller plus loin : faire des tests sans pourrir sa config =====
 +
 +Si vous utilisez votre vm pour tester des logiciels non stable ou des virus, vous n'avez certainement pas envie de <​del>​foutre en l'​air,</​del>​ <​del>​détruire,</​del>​ perdre votre jolie installation vierge toute belle toute neuve sur votre machine virtuelle.
 +
 +Faire une copie de sauvegarde de l'​image prendrait beaucoup de place.
 +
 +Heureusement,​ il y a mieux !
 +
 +Supposons que vous veniez de suivre l'​installation ci-dessus. Vous avez installé fenêtre XP SP3, effectué plein de mises à jour, installé un navigateur web, .PasNet Framework et autres machins lourds... ​
 +Et vous estimez que cette configuration est le point de départ idéal pour tous vos tests futurs.
 +
 +On s'​assure d'​être dans le dossier de la vm :
 +<code root>
 +cd ~/​vm/​fenetresXP
 +</​code>​
 +
 +On interdit les droits d'​écriture sur l'​image de départ
 +<code root>
 +chmod 444 base.qcow2
 +</​code>​
 +
 +Et on crée une image test1.qcow2 qui ne contiendra que les modifications faîtes à base.qcow2
 +<code root>
 +qemu-img create -b base.qcow2 -f qcow2 test1.qcow2
 +</​code>​
 +
 +Et voilà, maintenant, il suffit de modifier le script ''​launch_vm.sh''​ pour qu'il utilise ''​test1.qcow2''​ au lieu de ''​base.qcow2''​
 +
 +== Astuce ==
 +
 +Avec le script suivant ''​launch_vm2.sh''​ :
 +
 +<file config script launch_vm2.sh>​
 +#!/bin/bash
 +IMG=$1
 +shift;
 +qemu -m 256 -soundhw all -vga cirrus -hda ~/​vm/​fenetresXP/​$IMG.qcow2 $*
 +</​file>​
 +
 +Vous lancez la machine de base (attention, en lecture seule) avec :
 +<code root>​./​launch_vm2.sh base</​code>​
 +
 +La machine de test 1 :
 +<code root>​./​launch_vm2.sh test1</​code>​
 +
 +
 +Etc. Vous pouvez simultanément avoir 12((pour toute valeur de 12)) machines de test différentes basées sur la même image ''​base.qcow2'',​ et ce, pour un coût en espace disque moindre !
 +===== Quelques raccourcis indispensables =====
 +
 +^   //​RACCOURCIS CLAVIER// ​ ^   //​ACTION// ​  ​^ ​
 +| <​key>​C-A-f</​key> ​  | passe en plein-écran ​  |
 +| <​key>​C-A-1</​key> ​  | affichage graphique de l'​invité ​  |
 +| <​key>​C-A-2</​key> ​  | passage au moniteur Qemu; attention, dans ces deux options, le 1 et le 2 sont à taper sur les chiffres hauts du clavier, pas sur le pavé numérique ​  |
 +| <​key>​C-A</​key> ​  | pour arrêter le contrôle de la souris dans l'​invité,​ alors que pour l'​activer,​ on avait cliqué dans la fenêtre de Qemu   ​| ​
 +
 +voir le très bon tuto sur lea-linux là :
 +
 +http://​lea-linux.org/​documentations/​index.php/​Software-soft_emul-qemu
 +
 +Lien :
 +Voir : [[:​doc:​systeme:​kvm|KVM - Fork de Qemu]]
 +
 +===== Références =====
 +  - ''​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/​
doc/systeme/vm/qemu.txt · Dernière modification: 14/08/2023 19:45 par captnfab

Pied de page des forums

Propulsé par FluxBB