Linux

Présentation de Qemu

Vous reviez d'utiliser deux systèmes d'exploitation ( ou plus ! ) en même temps ? Justement, qemu est un outil de virtualisation. Il permet d'installer et de lancer des systèmes d'exploitations. Néanmoins il a besoin d'un système déjà présent pour s'executer. ce dernier peut être Linux, Apple, Solaris, Windows ...

Par exemple, vous avez linux installé sur un ordinateur. Grâce à Qemu vous pouvez lancer Windows en même temps. Windows sera alors émulé. Bien sur, comme toutes machines virtuelles, il consomme beaucoup de ressources. Petit détail qui à son importance : Qemu est open-source.

Auteur : Fabrice Bellard
Site officiel : http://fabrice.bellard.free.fr/qemu/

Installation sur Linux

Qemu est généralement présent en paquetage sur les distributions les plus connues. Sous debian par exemple : # apt-get install qemu Sinon, il vous suffit de télécharger les sources et de l'installer comme suit ( en root ) : ./configure
make
make install

L'accélerateur Kqemu

Il existe un module ( non libre hélas ) qui vous permet d'avoir de bien meilleurs performance. Il n'est disponible que pour les systèmes x86 32 bits. Il se nomme Kqemu, développer par l'auteur de Qemu. Il est téléchargeable sur le site de Qemu. Il vous faudra d'ailleurs Qemu 0.81 ou supérieur pour l'utiliser

Son installation est très simple ( tout comme Qemu, en root ) : ./configure
make
make install
modprobe kqemu
Pour vérifier que le module est bien chargé : lsmod | grep kqemu Pour pouvoir l'utiliser il faut ajouter -kernel-kqemu ( valable à partir de Qemu 0.81 ). Exemple : qemu -boot c -hda hd.img -kernel-kqemu

Utilisation

Qemu s'utilise en ligne de commande. Dans le premier cas, nous allons lancer une petite distribution live CD : Damn Small Linux ( DSL ).

Il suffit pour cela de télécharger l'iso. Inutile de la graver sur cdrom, il sera lui aussi émulé. cd /repertoire_du_fichier_iso/
qemu -boot d -k fr -cdrom dsl-3.0.1.iso -net user
L'option -k fr est utilisé pour spécifier la langue. Vient ensuite -cdrom suivit du fichier téléchargé. Cela indique que le fichier est une image CD. -net user permet d'avoir internet sur le système émulé. Et pour finir -boot d émule un boot de cdrom.

qemu DSL
Le boot de DSL.
qemu DSL 2>
DSL sur Ubuntu

Passons maintenant à un système " en dur ". Sous entendu, une installation via une image cdrom iso sur un fichier brut. Tout d'abord il faut donc créer ce fichier : qemu-img create hd.img 2G C'est ce fichier, hd.img, qui fera office de disque dur de 2 Go d'espac pour le prochain système émulé. Ce dernier sera d'ailleurs ReactOS. Il s'agit d'un clone libre de Windows. Pour lancer l'image cdrom iso : qemu -boot d -k fr -cdrom ReactOS.iso -hda hd.img L'option -boot à comme argument d pour démarrer à partir de la source cdrom Ensuite il suffit simplement de suivre les instructions à l'écran. Une fois ReactOS installé, il faudra le démarrer à partir du fichier hd.img. Voici la commande : qemu -boot c -k fr -hda hd.img -net user Maintenant -boot à comme argument c pour indiquer que l'on veut démarrer un disque dur, soit hd.img.

qemu ReactOS
ReactOS installé sur hd.img
qemu processeur
Utilisation du processeur

Et voilà, vous savez maintenant émuler un système d'exploitation !

Pour terminer, un exemple de commande pour un système émulé correcte ( déconseiller lors de l'installation ) : qemu -boot c -cdrom img.iso -hda hd.img -localtime -net user -net nic -usb -usbdevice tablet -kernel-kqemu

Les options courantes

-fdX [fichier] : utiliser un fichier image d'une disquette. Remplacer X par a ou b selon le lecteur.
-hdX [fichier] : utiliser un fichier du disque dur ( remplacer X par a,b,c ou d selon la partition )
-cdrom [fichier] : utiliser un fichier image d'un cdrom.
-k [langage] : selectionner la langue pour le clavier (fr pour un clavier français).
-boot [a|c|d] : Emuler un Boot de disquette (a), de disque dur (c) ou de cdrom (d).
-m [ram] : Spécifier la quantité de mémoire vive (en Mo) utilisé par Qemu ( par défaut 128 ).
-full-screen : Lancer le système en plein écran.
-enable-audio : Prise en charge de la carte son.
-nographic : Annule l'écran graphique, pour les systèmes avec une interface en mode texte.
-localtime : Afficher l'heure GMT ( sans décalage horaire ).
-smp X : Indique le nombre de cpu en modifiant X par le bon chiffre. Par défaut, X vaut 1.
-net [option] : configurer l'accès internet sur le système émulé. En général -net user suffis.

Ctrl+Alt : Permet de sortir de Qemu
Ctrl+Alt+f : Activer / Desactiver le mode plein écran.
Ctrl+Alt+1 : Fenêtre du système émulé.
Ctrl+Alt+2 : Basculer dans la console Qemu.

En savoir plus...

Il se peut que vos composants soit différents dans le système émulé avec Qemu. Par exemple, pour la carte graphique, vous verrez très probablement : Cirrus CLGD 5446 PCI VGA. C'est tout à fait normal. Il s'agit d'un des composants simulé. Cela ne sert à rien d'essayer d'installer le pilote de la carte graphique présent sur votre système réel.

Qemu utilise la librairie SDL pour la sortie VGA.

Jusqu'a 255 processeurs peuvent être utiliser avec Qemu ( commande smp ).

L'architecture 64 bits pour microprocesseur x86 n'est pas supporté.

Les Jeu d'instructions MMX et SSE pour microprocesseur x86 ne sont pas supportés.