qemu-kvm & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

KVM QEMU Download Installation: qemu-kvm qemu-kvm-extras QEMU Ubtuntu, KVM Ubuntu, Fedora, SuSE, Linux, Build QEMU

(Link zu dieser Seite als [[QEMU-KVM-Buch/ Installation]])

<<<|###| >>> | English


Auch die Installation von QEMU kann in einer virtuellen Maschine getestet werden.
Auch die Installation von QEMU kann in einer virtuellen Maschine getestet werden.
Debian/Ubuntu – Mit Synaptic werden Softwarepakete installiert.
Debian/Ubuntu – Mit Synaptic werden Softwarepakete installiert.
OpenSuSE - Softwarequellen.
OpenSuSE - Softwarequellen.
OpenSuSE - Software wird mit YAST installiert.
OpenSuSE - Software wird mit YAST installiert.
Unter Mac OS X läuft in VMware Fusion ein Ubuntu, in dem unter QEMU ein Microsoft Windows-2003-Server gestartet wurde.
Unter Mac OS X läuft in VMware Fusion ein Ubuntu, in dem unter QEMU ein Microsoft Windows-2003-Server gestartet wurde.
Der Qemu-Manager für Windows 6.0 unter Linux mit Wine.
Der Qemu-Manager für Windows 6.0 unter Linux mit Wine.

Inhaltsverzeichnis

[bearbeiten] Installation von QEMU

Die Installation von QEMU ist für die gängigen Betriebssysteme unkompliziert und erfolgt jeweils mit den üblichen Methoden. Installationsanleitungen findet man unter der jeweils angegebenen URL.


Microsoft Windows und Wine http://qemu-buch.de/d/QEMU_unter_Microsoft_Windows
OS/2 Warp 4 und eComstation http://qemu-buch.de/d/QEMU_unter_eComstation
DOS http://qemu-buch.de/d/QEMU_unter_DOS
Mac OS X (x86) http://qemu-buch.de/d/QEMU_unter_Mac_OS_X
FreeBSD, OpenBSD, NetBSD, Solaris http://qemu-buch.de/d/QEMU_unter_BSD

[bearbeiten] QEMU unter Linux

Der Support für den Beschleuniger KQEMU endet mit QEMU 0.11.*. Ab QEMU 0.12.0 wird nur noch die Kernel-based Virtual Machine (KVM) unterstützt. Auf Computern ohne Hardware-Virtualisierungstechniken ist KVM aber nicht einsetzbar. Wer keine neue Hardware kaufen möchte und trotzdem QEMU beschleunigen will muss QEMU 0.11.* oder älter installieren. Eine Anleitung findet man unter der URL http://qemu-buch.de/d/QEMU+KQEMU_unter_Linux.

Für den Einsatz der KVM-Kernel-Module muss sichergestellt werden, dass die Unterstützung der Hardware-Virtualisierung im BIOS des Rechners aktiviert ist (Beispiel):

Advanced
  CPU Configuration
    Virtualization Technology [Enabled]

Unter Linux wird die Unterstützung Hardware-Virtualisierung (Hardware Virtual Machine – HVM) überprüft.

Host ~$ grep "vmx" /proc/cpuinfo 

Werden Zeilen mit vmx ausgegeben handelt es sich um Prozessoren vom Typ Intel VT.

Host ~$ grep "svm" /proc/cpuinfo

Werden Zeilen mit svm ausgegeben, handelt es sich um Prozessoren vom Typ AMD-V. Erfolgt keine Ausgabe wird die Hardware-Virtualisierung nicht unterstützt. QEMU kann dann nur ohne KVM-Beschleunigung installiert werden.

Die KVM-Kernel-Module verhindern das Ausführen anderer Virtualisierungslösungen, wie zum Beispiel Sun xVM VirtualBox und VMware-Server, -Workstation und -Player.

[bearbeiten] Software-Pakete

Bei neueren Linux-Distributionen werden QEMU und die Kernel-based Virtual Machine in dem Paket qemu-kvm zusammengefasst. Ansonsten sind die Pakete kvm und qemu zu installieren. Da das Paket qemu-kvm nur x86-Gast-Systeme unterstützt, ist die Installation des Paketes qemu-kvm-extras zum empfehlen. Es enthält die Emulatoren der anderen Architekturen.

Unter Debian und Ubuntu kann man die Installation mit dem grafischen Paketmanager Synaptic vornehmen. Zuvor sollten alle Programmquellen aktiviert werden (Menü System, Administration, Software-Quellen). Die Synaptic-Paketverwaltung wird über das Menü System, Administration, Synaptic-Paketverwaltung aufgerufen. Nach Auswahl der Pakete wird die Installation aus dem Internet mit dem Button Anwenden gestartet. Alternativ kann die Installation mit einer Befehlszeile erfolgen.

Host ~$ sudo apt-get install qemu-kvm qemu-kvm-extras

Unter Fedora, Red Hat Enterprise Linux und CentOS erfolgt die Installation mit yum.

Host ~# yum install qemu-kvm qemu-kvm-extras

Unter OpenSuSE werden Konfigurationen und Softwareinstallationen mit dem Tool YAST vorgenommen (Punkt Software installieren und löschen). Dort sucht man die Pakete qemu-kvm und qemu-kvm-extras und installiert sie.

[bearbeiten] Quellen kompilieren

[bearbeiten] QEMU 0.12.3 unter Ubuntu

Download: http://download.savannah.gnu.org/releases-noredirect/qemu/

Zum Kompilieren sind diese Pakete notwendig:

Host ~$ sudo apt-get install build-essential gcc make wget
Host ~$ sudo apt-get install zlib1g-dev libsdl-gfx1.2-dev

Zu empfehlen ist das Paket checkinstall. Damit baut man Slackware-TGZ-, RPM- oder DEB-Paketen beim Kompilieren. Statt make install wird beim Kompilieren der Befehl checkinstall verwendet.

Host ~$ sudo apt-get install checkinstall

Die folgenden Pakete sind zwar nicht unbedingt nötig, erweitern aber die Funktionalität von QEMU. Für die Absicherung von VNC-Sessions sind die Pakete cyrus-sasl-devel und gnutsl-devel zu installieren. Mit der VDE-Library ist das Anlegen von virtuellen VDE-Switches möglich.

Host ~$ sudo apt-get install libsasl2-dev libgnutls-dev
Host ~$ sudo apt-get install ibvdeplug2-dev

Die Bibliothek curl-devel unterstützt das Booten über Web-Protokolle.

Host ~$ sudo apt-get install libcurl4-gnutls-dev

Für Bluetooth-Unterstützung werden die Pakete libbluetooth-dev und bluez benötigt.

Host ~$ sudo apt-get install libbluetooth-dev bluez

Für den Xen-Support erwartet der Kompiler die Bibliothek libxen3-dev.

Host ~$ sudo apt-get install libxen3-dev

Zur Generierung der Dokumentation qemu-doc.html dient das Paket texi2html.

Host ~$ sudo apt-get install texi2html

Wird der Sparse-Checker (cgcc) benötigt, ist das Paket sparse zu installieren.

Host ~$ sudo apt-get install sparse

Die Bibliothek libbrlapi-dev wird für die Braille-Ausgabe verwendet.

Host ~$ sudo apt-get install libbrlapi-dev

Zunächst werden die Quellpakete für QEMU heruntergeladen und entpackt. Kompiliert wird mit normalen Benutzerrechten mit ./configure && make. Erst die Installation erfordert root-Rechte. Mit checkinstall beziehungsweise make install werden die angelegten Dateien in die Verzeichnisse /usr/local/bin/ und /usr/local/share/qemu kopiert.

Host ~$ mkdir -p ~/source
Host ~$ cd ~/source
Host ~$ wget \ 
 http://download.savannah.gnu.org/releases/qemu/qemu-0.12.3.tar.gz
Host ~$ tar xzvf qemu-0.12.3.tar.gz
Host ~$ cd qemu-0.12.3

Die Optionen für das Kompilieren zeigt der folgende Befehl an.

Host ~$ ./configure --help
Usage: configure [options]
Options: [defaults in brackets after descriptions]

Standard options:
  --help                   print this message
  --prefix=PREFIX          install in PREFIX []
  --interp-prefix=PREFIX   where to find shared libraries, etc.
                           use %M for cpu name [/usr/gnemul/qemu-%M]
  --target-list=LIST       set target list []

Advanced options (experts only):
  --source-path=PATH       path of source code [/home/rwarnke/source/qemu-0.12.3]
  --cross-prefix=PREFIX    use PREFIX for compile tools []
  --cc=CC                  use C compiler CC [gcc]
  --host-cc=CC             use C compiler CC [gcc] for dyngen etc.
  --extra-cflags=CFLAGS    append extra C compiler flags QEMU_CFLAGS
  --extra-ldflags=LDFLAGS  append extra linker flags LDFLAGS
  --make=MAKE              use specified make [make]
  --install=INSTALL        use specified install [install]
  --static                 enable static build [no]
  --enable-debug-tcg       enable TCG debugging
  --disable-debug-tcg      disable TCG debugging (default)
  --enable-debug           enable common debug build options
  --enable-sparse          enable sparse checker
  --disable-sparse         disable sparse checker (default)
  --disable-strip          disable stripping binaries
  --disable-werror         disable compilation abort on warning
  --disable-sdl            disable SDL
  --enable-sdl             enable SDL
  --enable-cocoa           enable COCOA (Mac OS X only)
  --audio-drv-list=LIST    set audio drivers list:
                           Available drivers: oss alsa sdl esd pa fmod
  --audio-card-list=LIST   set list of emulated audio cards [ac97 es1370 sb16]
                           Available cards: ac97 es1370 sb16 cs4231a adlib gus
  --block-drv-whitelist=L  set block driver whitelist
                           (affects only QEMU, not qemu-img)
  --enable-mixemu          enable mixer emulation
  --disable-xen            disable xen backend driver support
  --enable-xen             enable xen backend driver support
  --disable-brlapi         disable BrlAPI
  --enable-brlapi          enable BrlAPI
  --disable-vnc-tls        disable TLS encryption for VNC server
  --enable-vnc-tls         enable TLS encryption for VNC server
  --disable-vnc-sasl       disable SASL encryption for VNC server
  --enable-vnc-sasl        enable SASL encryption for VNC server
  --disable-curses         disable curses output
  --enable-curses          enable curses output
  --disable-curl           disable curl connectivity
  --enable-curl            enable curl connectivity
  --disable-fdt            disable fdt device tree
  --enable-fdt             enable fdt device tree
  --disable-check-utests   disable check unit-tests
  --enable-check-utests    enable check unit-tests
  --disable-bluez          disable bluez stack connectivity
  --enable-bluez           enable bluez stack connectivity
  --disable-kvm            disable KVM acceleration support
  --enable-kvm             enable KVM acceleration support
  --disable-nptl           disable usermode NPTL support
  --enable-nptl            enable usermode NPTL support
  --enable-system          enable all system emulation targets
  --disable-system         disable all system emulation targets
  --enable-user            enable supported user emulation targets
  --disable-user           disable all user emulation targets
  --enable-linux-user      enable all linux usermode emulation targets
  --disable-linux-user     disable all linux usermode emulation targets
  --enable-darwin-user     enable all darwin usermode emulation targets
  --disable-darwin-user    disable all darwin usermode emulation targets
  --enable-bsd-user        enable all BSD usermode emulation targets
  --disable-bsd-user       disable all BSD usermode emulation targets
  --enable-guest-base      enable GUEST_BASE support for usermode
                           emulation targets
  --disable-guest-base     disable GUEST_BASE support
  --enable-user-pie        build usermode emulation targets as PIE
  --disable-user-pie       do not build usermode emulation targets as PIE
  --fmod-lib               path to FMOD library
  --fmod-inc               path to FMOD includes
  --oss-lib                path to OSS library
  --enable-uname-release=R Return R for uname -r in usermode emulation
  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9
  --disable-uuid           disable uuid support
  --enable-uuid            enable uuid support
  --disable-vde            disable support for vde network
  --enable-vde             enable support for vde network
  --disable-linux-aio      disable Linux AIO support
  --enable-linux-aio       enable Linux AIO support
  --enable-io-thread       enable IO thread
  --disable-blobs          disable installing provided firmware blobs
  --kerneldir=PATH         look for kernel includes in PATH

NOTE: The object files are built at the place where configure is launched

Der Befehl ./configure ist aufzurufen. Soll das Management der virtuellen Maschinen mit den Tools der Bibliothek libvirt erfolgen, ist die Option --prefix=/usr anzugeben. Dann werden die Binaries, wie von libvirt erwartet, unter /usr/bin installiert. Lässt man die Option --prefix=/usr weg, werden die Binaries unter /usr/local/bin/ abgelegt.

Host ~$ ./configure --prefix=/usr
Install prefix    /usr
BIOS directory    /usr/share/qemu
binary directory  /usr/bin
Manual directory  /usr/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /home/ich/source/qemu-0.12.3
C compiler        gcc
Host C compiler   gcc
CFLAGS            -O2 -g 
QEMU_CFLAGS       -m64 -Wold-style-definition -Wold-style-declaration -I. 
-I$(SRC_PATH) -U_FORTIFY_SOURCE -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wendif
-labels -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing 
LDFLAGS           -Wl,--warn-common -m64 -g 
make              make
install           install
host CPU          x86_64
host big endian   no
target list       i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu 
m68k-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu mips64-softmmu 
mips64el-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu sh4-softmmu 
sh4eb-softmmu sparc-softmmu sparc64-softmmu i386-linux-user x86_64-linux-user 
alpha-linux-user arm-linux-user armeb-linux-user cris-linux-user 
m68k-linux-user microblaze-linux-user mips-linux-user mipsel-linux-user 
ppc-linux-user ppc64-linux-user ppc64abi32-linux-user sh4-linux-user 
sh4eb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user 
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
-Werror enabled   no
SDL support       yes
curses support    yes
curl support      yes
check support     no
mingw32 support   no
Audio drivers     oss
Extra audio cards ac97 es1370 sb16
Block whitelist   
Mixer emulation   no
VNC TLS support   yes
VNC SASL support  yes
xen support       yes
brlapi support    yes
bluez  support    yes
Documentation     yes
NPTL support      yes
GUEST_BASE        yes
PIE user targets  no
vde support       yes
IO thread         no
Linux AIO support no
Install blobs     yes
KVM support       yes
fdt support       no
preadv support    no
fdatasync         yes
uuid support      no

Mit make wird der Kompiliervorgang gestartet.

Host ~$ make

Zu empfehlen ist das Generieren eines Softwarepaketes mit checkinstall. Es wird statt make install aufgerufen. Eine Hilfestellung erhält man mit checkinstall --help. Das Programm checkinstall stellt einige Fragen, die meist mit den Default-Vorgaben beantwortet werden können. Eindeutig ist aber der Paket-Name vorzugeben, zum Beispiel qemu-kvm-self-compiled. Im aktuellen Verzeichnis wird das Paket angelegt und installiert. Unter Debian/Ubuntu listet es der Befehl dpkg -l auf und mit dpkg -r deinstalliert man es bei Bedarf.

Host ~$ sudo checkinstall
Should I create a default set of package docs?  [y]: y
Bitte geben Sie eine Beschreibung für das Paket ein.
>> qemu-self-compiled
>> 
Das Paket wird entsprechend dieser Vorgaben erstellt:
...
Geben Sie die betreffende Nummer ein, um die Vorgaben zu ändern: 2
Geben Sie einen neuen Namen ein: 
>> qemu-self-compiled
Das Paket wird entsprechend dieser Vorgaben erstellt:
0 -  Maintainer: [ root@meinpc ]
1 -  Summary: [ qemu-self-compiled ]
2 -  Name:    [ qemu-self-compiled ]
...
Geben Sie die betreffende Nummer ein, um die Vorgaben zu ändern: [Enter]

Man kann alternativ auch auf herkömmliche Weise die Software installieren.

Host ~$ sudo make install

Ein Blick in die Datei qemu-doc.html ist zu empfehlen. Wurde unter Ubuntu vorher QEMU als Paket installiert, liegt dieses im Pfad /usr/bin/. Die kompilierte Version liegt ohne Vorgabe des Prefix unter /usr/local/bin/. Unter Angabe des vollständigen Pfades wird jeweils die gewünschte Version aufgerufen.

Host ~$ /usr/bin/qemu
QEMU PC emulator version 0.9.1, Copyright (c) Fabrice Bellard
Host ~$ /usr/local/bin/qemu -version
QEMU PC emulator version 0.12.3, Copyright (c) 2003-2009 Fabrice Bellard

Statt dem Befehl qemu ist bei einigen Distributionen der Befehl kvm anzuwenden.

[bearbeiten] KVM-Kernel-Module

Sind die KVM-Kernel-Module korrekt geladen, gibt im QEMU-Monitor der Befehl info kvm die Meldung kvm support: enabled aus.

Host ~$ qemu -monitor stdio -enable-kvm
(qemu) info kvm
kvm support: enabled

[bearbeiten] Probleme

Wird ein Kernel vor 2.6.29 verwendet, tritt folgende Fehlermeldung aus.

Host ~$ ./configure --enable-kvm
#error Missing KVM capability KVM_CAP_DESTROY_MEMORY_REGION_WORKS
    NOTE: To enable KVM support, update your kernel to 2.6.29+ or 
    install recent kvm-kmod from  http://sourceforge.net/projects/kvm.
ERROR
ERROR: User requested feature kvm
ERROR: configure was not able to find it
ERROR

Zu empfehlen ist die Installation eines neueren Kernels. Ist dies nicht möglich, so sind die entsprechenden Quellen der KVM-Kernel-Module zu installieren. Unter Ubuntu wird die richtige Version mit dem Paket kvm-source installiert.

Host ~$ sudo apt-get install kvm-source
Host ~$ make clean
Host ~$ ./configure --enable-kvm
Host ~$ make
Host ~$ sudo checkinstall
Host ~$ qemu -monitor stdio -enable-kvm
(qemu) info kvm
kvm support: enabled

[bearbeiten] Links


<<<|###| >>> http://www.qemu-buch.de/

Von „http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_Installation

Diese Seite wurde bisher 14.722 mal abgerufen. Diese Seite wurde zuletzt am 11. März 2010 um 09:46 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Bestellen
Tipps für Autoren
Autoren
Impressum


English
Order
Recommendation
The Authors
Contact



Letzte Änderungen
Twitter


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …