Debian logo [inetdoc.LINUX]

5. Mise en œuvre de QEMU

5.1. Identification des extensions matérielles du processeur

Comme on l'a vu dans la Section 3, « Choix d'une solution de virtualisation », cette solution doit être utilisée avec un processeur sans extension matérielle de virtualisation. Autrement dit, la commande $ egrep '^flags.*(vmx|svm)' /proc/cpuinfo ne renvoie aucun résultat.

5.2. Construction du module KQEMU du noyau Linux

[Avertissement] Avertissement

Le module KQEMU ne bénéficie d'aucun support et son code n'est pas maintenu. Il est donc possible que la compilation du code source échoue avec un noyau Linux très récent.

Ce module KQEMU permet d'exécuter le code de l'instance virtuelle de système d'exploitation invité directement sur le processeur hôte. C'est le moyen de se rapprocher des performances natives du système hôte lorsque le processeur ne possède pas de fonctions matérielles dédiées à la virtualisation.

Les sources de ce module ne font pas partie intégrante du noyau Linux. Avec la distribution Debian GNU/Linux, ces sources sont disponibles sous forme de paquet spécifique. Pour faciliter l'installation de ce paquet, il est conseillé de passer par l'outil module-assistant.

  • On commence par s'assurer que le paquet module-assistant est bien installé.

    $ dpkg -l module-assistant | grep ^ii
    ii  module-assistant  0.11.1  tool to make module package creation easier
  • La construction du paquet et son installation se font en une seule opération.

    # m-a a-i kqemu

    On vérifie ensuite l'état des paquets installés.

    # dpkg -l kqemu* |grep ^ii
    ii  kqemu-common            1.4.0~pre1-2    Common files for the QEMU Accelerator module
    ii  kqemu-modules-2.6.29.3  1.4.0~pre1-2+   kqemu modules for Linux (kernel 2.6.29.3).
    ii  kqemu-source            1.4.0~pre1-2    Source for the QEMU Accelerator module
    

Une fois que le module de virtualisation KQEMU est installé, il ne reste plus qu'à valider son chargement en mémoire et à configurer le système pour que ce chargement soit effectué à chaque démarrage de la machine.

# modprobe -v kqemu
insmod /lib/modules/2.6.29.3/misc/kqemu.ko major=0 major=0
# dmesg |grep QEMU
QEMU Accelerator Module version 1.4.0, Copyright (c) 2005-2008 Fabrice Bellard
KQEMU installed, max_locked_mem=2029388kB.

Comme dans le cas du module KVM, il est possible d'éditer le fichier /etc/modules pour rendre le chargement du module systématique.

# echo kqemu >>/etc/modules

Tout est maintenant en place pour passer à la création d'une instance de machine virtuelle. Voir la Section 8, « Création d'une machine virtuelle avec QEMU ».