qemu-1.6.0

Introduction à qemu

qemu-kvm est une solution de virtualisation complète pour Linux avec un processeur x86 supportant les extensions de virtualisation (Intel VT ou AMD-V).

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.4.

Information sur le paquet

  • Téléchargement (HTTP) : http://wiki.qemu.org/download/qemu-1.6.0.tar.bz2

  • Somme de contrôle MD5 du téléchargement : f3f39308472d629aca57a255a0c91ba9

  • Taille du téléchargement : 11.5 Mo

  • Estimation de l'espace disque requis : 192 Mo

  • Estimation du temps de construction : 1.7 SBU

Dépendances de Qemu

Requises

GLib-2.36.4, Python-2.7.5, SDL-1.2.15, et X Window System

Facultative

ALSA-1.0.27, attr-2.4.47, check-0.9.10, cURL-7.32.0, EsounD-0.2.41, MesaLib-9.2.0, et Cyrus SASL-2.1.26. Notez que la liste des dépendances facultatives n'est pas complète. Voir la sortie de ./configure --help pour une liste plus complète.

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/qemu

Prérequis de KVM

Avant de construite qemu-kvm, vérifier si votre precesseur supporte la technologie de virtualisation :

egrep '^flags.*(vmx|svm)' /proc/cpuinfo

Si vous avez une sortie, vous avez la technologie VT (vmx pour les prcesseurs Intel et svm pour les processeurs AMD). Vous devez également allez voir dans votre BIOS et vérifier qu'elle est activée. Après l'activation, rédémarrer sur votre LFS.

Configuration du noyau

Activez les options suivantes dans la configuration du noyau et recompilez le noyau si nécessaire :

Virtualization: Y
  Kernel-based Virtual Machine (KVM) support: M or Y
  KVM for Intel processors support:           M or Y
  KVM for AMD processors support:             M or Y

Les options Intel ou AMD ne sont pas les deux nécessaire, but celle correspondante à votre processeur est obligatoire.

Pour le réseau, vérifiez que les initialisations de CONFIG_BRIDGE, CONFIG_STP, CONFIG_TUN sont activées et que bridge-utils-1.5 est installé.

Installation de qemu

Si xorg n'est pas installé dans /usr, alors le linker a besoin de savoir ou il est. Par exemple :

export LIBRARY_PATH=/opt/xorg/lib

Installez qemu en lançant les commandes suivantes :

./configure --prefix=/usr                \
            --sysconfdir=/etc            \
            --target-list=x86_64-softmmu &&
make

Pour lancer la construction en tests, lancez make V=1 check.

Maintenant, en tant qu'utilisateur root :

make install
[Note]

Note

Par confort vous pouvez vouloir créer un lien symbolique pour lancer qemu-system-x86_64 :

ln -sv qemu-system-x86_64 /usr/bin/qemu

Explications des commandes

--target-list=x86_64-softmmu : This option limits the build target to the x86_64 architecture. For other hardware emulation see the --target-list list in configure's help output. Omitting this option will build all architectures.

Configuration qemu

Pour générer une image, lancez :

qemu-img create -f qcow2 vdisk.img 10G

Ajuster la taille du disque virtuel et le nom du fichier image comme souhaités. La taille réelle du fichier sera plus petite que spécifiée, mais s'agrandira quand il sera utilisé.

[Note]

Note

Les instructions suivantes supposent que vous avez créé le lien symbolique facultatif, qemu. En supplément, vous devez exécuter qemu depuis un terminal d'une fenètre X.

Pour installer un système d'exploitation, téléchargez un iso de votre choix ou utilisez un CD d'installation. Pour les besoins de cet exemple, nous utilisons une distribution Fedora 16 qui est téléchargée par l'iso Fedora-16-x86_64-Live-LXDE.iso dans le répertoire courant. Exécutez les commandes suivantes :

qemu -enable-kvm -hda vdisk.img            \
     -cdrom Fedora-16-x86_64-Live-LXDE.iso \
     -boot d                               \
     -m 384

Suivre la procedure d'installation normal pour la distribution choisie. L'option -boot spécifie l'ordre de démarrage des disques comme un chaîne de lettres de lecteur. Les lettres valides de lecteurs sont : a, b (lecteur de disquettes 1 et 2), c (premier disque dur ), d (premier lecteur CD-ROM). l'option -m est la quantité de mémoire à utiliser pour la machine virtuelle. Si vous avez suffisament de mémoire (2G ou plus), 1G est une valeur correcte. Pour les ordinateurs avec 512Mo de RAM il est prudent d'utiliser -m 192, ou même -m 128 (la valeur par défaut).

Pour exécuter le nouveau système d'exploitation, lancer :

qemu -enable-kvm vdisk.img -m 384

Pour ajouter le réseau à la machine virtuelle ajoutez "-net nic -net user" à la commande précédente. qemu fournit une serveur DHCP pour les machines virtuelles et en fonction de votre système client, initialisé le réseau au travers de l'hôte.

un problème avec la solution réseau précédente est qu'elle ne fournit pas la possibilité de se connecter sur le réseau local. Pour faire cela, il y a quelques étapes supplémentaire qui doivent être faites, tout en tant qu'utilisateur root :

  • Initialiser le mode pont avec bridge-utils-1.5.

  • Autorisé le système hôte à transférer les paquets IP.

    sysctl -w net.ipv4.ip_forward=1
    

    Pour rendre cela permanent, ajoutez la commande dans le fichier /etc/syssysctl.conf :

    cat >> /etc/sysctl.conf << EOF
    net.ipv4.ip_forward=1
    EOF
    
  • Créez des scripts pour qemu pour lier les cartes réseau cliente, normalement visible en tant que tap0, dans le pont hôte.

    cat > /etc/qemu-ifup << EOF
    #!/bin/bash
    switch=br0
    if [ -n "\$1" ]; then
      # Add new tap0 interface to bridge
      /sbin/ip link set \$1 up
      sleep 0.5s
      /usr/sbin/brctl addif \$switch \$1
    else
      echo "Error: no interface specified"
      exit 1
    fi
    exit 0
    EOF
    chmod +x /etc/qemu-ifup
    
    cat > /etc/qemu-ifdown << EOF
    #!/bin/bash
    switch=br0
    if [ -n "\$1" ]; then
      # Remove tap0 interface from bridge
      /usr/sbin/brctl delif \$switch \$1
    else
      echo "Error: no interface specified"
      exit 1
    fi
    exit 0
    EOF
    chmod +x /etc/qemu-ifdown
    
[Note]

Note

Les antislashs dans le script précédent sont pour la cohérence des opérations de copier/coller. Les antislashs ne doivent pas apparaître dans le script final.

  • Démarrer qemu avec les options "-net nic -net tap".

  • Si une connexion, en ssh par exemple, depuis le réseau local vers la VM cliente est souhaitée, le client devra être surement configuré avec une adresse IP statique.

Contenu

Programme installé Program: qemu-ga, qemu-img, qemu-io, qemu-nbd, qemu-system-x86_64
Bibliothèques installées: Aucun
Répertoires installés: /etc/qemu, /usr/share/qemu, /usr/share/doc/qemu

Description courte

qemu-ga

implémente le support pour les commandes QMP (Protocole de surveillance QEMU) et les événements qui terminent et débutent respectivement au sein de l'invité à l'aide d'un agent intégré dans le cadre de QEMU.

qemu-img

fournit les commandes pour gérer les images disques QEMU.

qemu-io

est un programme de diagnostique et de manipulation pour les médias (virtuels) en mémoire. Il est encore à un stade de développement précoce.

qemu-nbd

exporte les images disque Qemu en utilisant le protocole disque QEMU "Network Block Device" (NBD).

qemu-system-x86_64

est l'émulateur QEMU de sytème PC.

Last updated on : 2013-03-18 20:44:11 +010