Chapitre 2. Installation

Table des matières
2.1. KQEMU - L'accélérateur
2.2. QEMU - L'émulateur
2.3. Arborescence locale

QEMU est un logiciel sous licence Libre (GPL and LGPL). Il peut très bien être utilisé tel quel. Néanmoins la vitesse d'exécution des systèmes et applications sur les composants émulés est lente et vous en viendrez rapidement à vous demander s'il n'existe pas un moyen d'accélérer un peu tout ça.

Il existe effectivement un moyen, mais il faut en passer par un brique propriétaire. Il s'agit d'un module noyau à charger avant le lancement de QEMU. Cet accélérateur est développé par Fabrice Bellard lui-même et permet un réel gain au niveau des performances. Nous l'utiliserons donc dans ce tutoriel.

2.1. KQEMU - L'accélérateur

Avertissement

Si vous décidez d'utiliser l'accélérateur, toutes les opérations de compilation doivent se faire avec une version de GCC inférieure à 4. Ceci vaut également pour votre noyau.

L'émulateur peut être téléchargé à partir de cette page. N'hésitez pas à prendre la toute dernière version disponible.

L'installation de se module est on ne peut plus simple. Il suffit de télécharger l'archive et de la décompresser sous le répertoire de QEMU. Pour la suite, reportez vous vers Section 2.2.


$ cd /usr/src/qemu-0.8.0/
$ wget http://fabrice.bellard.free.fr/qemu/kqemu-0.7.2.tar.gz
$ tar zxvf kqemu-0.7.2.tar.gz
      

Une fois que le module a été compilé et installé avec QEMU il est nécessaire d'effectuer quelques changements dans la configuration de udev afin que le device /dev/kqemu soit créé avec les droits nécessaires. Sur un système Debian, éditez le fichier /etc/udev/permissions.rules et y ajouter les lignes suivantes:


# kqemu
KERNEL=="kqemu",                MODE="0666"
     

Suite à cette modification, redémarrez udev avec /etc/init.d/udev restart.

A présent vous pouvez charger le module manuellement, en tant qu'utilisateur root:


# depmod -ae
# modprobe kqemu major=0
# dmesg | tail -4
QEMU Accelerator Module version 1.2.0, Copyright (c) 2005 Fabrice Bellard
This is a proprietary product. Read the LICENSE file for more information
Redistribution of this module is prohibited without authorization
KQEMU installed, max_instances=4 max_locked_mem=129300kB.
      

Pour éviter le chargement manuel de ce module par la suite, vous pouvez demander au système de le charger automatiquement. Sur une Debian, il faudra ajouter une ligne kqemu dans le fichier /etc/modules et créer un fichier kqemu sous /etc/modprobe.d/ [1]:


# echo "qkemu" >> /etc/modules
# echo "options kqemu major=0" > /etc/modprobe.d/kqemu
# update-modules
      

Notes

[1]

Sur d'autres distributions, ou bien si vous utilisez un noyau 2.4.x vous devrez peut-être plutôt créer ce fichier sous /etc/modutils/ et lancer un utilitaire comme update-modules.