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

Druckversion | Impressum | Datenschutz

QEMU KQEMU Support Download QEMU 0.11.1, invalid option-kernel-kqemu

(Link zu dieser Seite als [[QEMU-KVM-Buch/ QEMU+KQEMU unter Linux]])

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


Inhaltsverzeichnis

[bearbeiten] QEMU und KQEMU unter Linux

Der Support für den Beschleuniger KQEMU endet mit QEMU 0.11. Unter Ubuntu 9.10 (Karmic Koala) bietet das Paket qemu-kvm mit QEMU 0.11.0 bereits keinen KQEMU-Support. 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. Parallel dazu kann man auch eine neuere QEMU-Version ohne KQEMU-Support nutzen. Zum Beispiel installiert das Ubuntu-Paket die QEMU-Binaries im Pfad /usr/bin/. Die kompilierte Version liegt unter /usr/local/bin/. Unter Angabe des vollständigen Pfades kann jeweils die gewünschte Version aufgerufen werden.

[bearbeiten] Software-Pakete

Bei der Installation von QEMU mit Software-Paketen kann der KQEMU-Support nicht sichergestellt werden. Selbst wenn das derzeitige Paket noch KQEMU-Support bietet, kann dies nach einem Update anders sein. Zu empfehlen ist daher das Kompilieren von QEMU. KQEMU kann als Paket installiert werden. Zu beachten ist, dass die Pakete bei einer neueren Version der Distribution obsolet werden können. Für Red Hat und Fedora lädt man die RPM-Pakete von der URL http://atrpms.net/name/kqemu/ herunter. Um unter Ubuntu den Beschleuniger KQEMU zu installieren, sind die Pakete kqemu-common, kqemu-source und module-assistant zu installieren.

Host ~$ sudo apt-get install kqemu-common kqemu-source

Bei Versionen vor Ubuntu 9.10 sind noch folgende Schritte notwendig.

Host ~$ sudo apt-get install module-assistant
Host ~$ sudo module-assistant prepare
Host ~$ sudo module-assistant auto-install kqemu 

Der Befehl lsmod zeigt ob das Modul kqemu erfolgreich vom Betriebssystem geladen wurde.

Host ~$ lsmod | grep kqemu
kqemu         123940  0

[bearbeiten] Quellen kompilieren

[bearbeiten] KQEMU 1.4.0 pre1 unter Ubuntu 9.10

Download: http://qemu-buch.de/download/kqemu-1.4.0pre1.tar.gz

Die Quellen von KQEMU sind wie üblich zu kompilieren. Vorher sind die Pakete gcc, make und wget zu installieren. Unter Debian/Ubuntu werden die Tools zum Kompilieren im Paket build-essential zusammengefasst.

Host ~$ sudo apt-get install build-essential make gcc wget 

Zu empfehlen ist weiterhin das Paket checkinstall.

Host ~$ sudo apt-get install checkinstall

Die Quellen werden heruntergeladen, entpackt und kompiliert.

Host ~$ wget http://qemu-buch.de/download/kqemu-1.4.0pre1.tar.gz
Host ~$ tar xzvf kqemu-1.4.0pre1.tar.gz
Host ~$ cd kqemu-1.4.0pre1
Host ~$ ./configure
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 kqemu-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

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

Host ~$ sudo make install

Das kompilierte Kernel-Modul wird mit dem Befehl modprobe geladen.

Host ~$ sudo modprobe kqemu

Dabei wird das Device /dev/kqemu angelegt.

Host ~$ ls -l /dev/kqemu
crw-rw-rw- 1 root root 250, 0 2009-03-17 14:24 /dev/kqemu

Über diese Gerätedatei kommunizieren die virtuellen Maschinen mit dem Kernel-Modul kqemu. Zum Test wird QEMU mit der Option -kernel-kqemu und -monitor stdio aufgerufen. Es darf die Fehlermeldung qemu: invalid option nicht erscheinen. Mit dem QEMU-Monitor-Befehl info kqemu überprüft man den Support von KQEMU.

Host ~$ qemu qemu -kernel-kqemu -monitor stdio
(qemu) info kqemu
kqemu support: enabled for user and kernel code

Mitunter wird beim Start von QEMU diese Fehlermeldung ausgegeben:

Could not open '/dev/kqemu' - QEMU acceleration layer not activated

Dann sind die folgenden Befehle auszuführen:

Host ~$ sudo mknod /dev/kqemu c 250 0 
Host ~$ sudo chmod 666 /dev/kqemu

Damit das Modul beim Systemstart des Hosts automatisch geladen wird, ist bei Debian-Derivaten eine Zeile mit kqemu in der Datei /etc/modules einzutragen. Damit die Zugriffsrechte von /dev/kqemu auch nach dem Neustart richtig gesetzt werden, ist der Befehl chmod 666 /dev/kqemu in die Datei /etc/rc.local einzutragen. Steht /dev/kqemu auch nach dem Neustart zur Verfügung, war die Installation erfolgreich.

Neuere Linux-Distributionen mit Kernel 2.6 benutzen anstelle des betagten devfs das neue udev zur Verwaltung der Kernel-Gerätedateien. Damit ist es möglich Hotplug-Geräte zur Laufzeit automatisch einzubinden. Die Konfiguration von udev erfolgt über Konfigurationsdateien in /etc/udev. Wenn die Linux-Distribution udev unterstützt, wird das Device /dev/kqemu nicht automatisch beim Booten angelegt. Dazu sind in ein Boot-Skript folgende Zeilen einzutragen.

mknod /dev/kqemu c 250 0
chmod 666 /dev/kqemu

[bearbeiten] QEMU 0.11.1 unter Ubuntu 9.10

Download: http://download.savannah.gnu.org/releases/qemu/qemu-0.11.1.tar.gz

Zum Kompilieren sind diese Paket notwendig:

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

Zu empfehlen ist das Paket checkinstall.

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 libvdeplug2-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 oder 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.11.1.tar.gz
Host ~$ tar xzvf qemu-0.11.1.tar.gz
Host ~$ cd qemu-0.11.1
Host ~$ ./configure
...
kqemu support     yes
...
Host ~$ make

Zu empfehlen ist das Generieren eines Softwarepaketes mit checkinstall. Eindeutig ist der Paket-Name vorzugeben, zum Beispiel qemu-with-kqemu-support-self-compiled.

Host ~$ sudo checkinstall

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 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.11.1, Copyright (c) 2003-2009 Fabrice Bellard

[bearbeiten] Spezielle Optionen und Befehle für KQEMU

Wenn Host- und Gast-System in x86-Prozessorarchitektur vorliegen, kann QEMU mit dem optionalen Beschleuniger KQEMU auch die Native Virtualization anwenden. Dabei reicht KQEMU die meisten Befehle direkt an die reelle CPU weiter. Nur die CPU-Befehle, die direkt die Hardware ansprechen, werden abgefangen und durch angepasste Routinen ersetzt. Bei Linux-Gast-Systemen wird die beste Beschleunigung mit dem 2.4er Kernel erreicht. Die 2.6er Versionen funktionieren, sind aber langsamer. Zur Aktivierung der vollen KQEMU-Virtualisierung ist die Option -kernel-kqemu anzuwenden. Im QEMU-Monitor zeigt der Befehl info kqemu die Verwendung von KQEMU an.

Host ~$ qemu Platte.img -monitor stdio -kernel-kqemu
(qemu) info kqemu
kqemu support: enabled for user and kernel code

Eine weitere Option ist -enable-kqemu. Dabei wird nur KQEMU im User-Code aktiviert.

Host ~$ qemu -monitor stdio -enable-kqemu 
(qemu) info kqemu
kqemu support: enabled for user code

Wenn die Verwendung von KQEMU unterbunden werden soll, ist bei älteren QEMU-Versionen die Option -no-kqemu anzugeben. Bei der Installation von einigen Gast-Betriebssystemen, wie zum Beispiel Microsoft Windows, ist KQEMU nicht anzuwenden. Das heißt, wenn die Deaktivierung der KVM Hardware-Virtualisierung mit -no-kvm empfohlen wird, ist hier KQEMU zu deaktivieren. Nach der Installation kann KQEMU bei allen Windows-Versionen aktiviert sein.

Host ~$ qemu -monitor stdio -no-kqemu
(qemu) info kqemu
kqemu support: disabled

In diesem Fall wurde KQEMU deaktiviert. Im nachfolgenden Beispiel wurde QEMU ohne KQEMU-Support kompiliert. Die Optionen -kernel-kqemu und -no-kqemu stehen nicht zur Verfügung.

(qemu) info kqemu
kqemu support: not compiled

[bearbeiten] Quickstart

Eine Anleitung für die ersten Schritte mit QEMU findet man unter der URL http://qemu-buch.de/d/Quickstart.

[bearbeiten] Links

<<<|###| >>>

Von „http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_QEMU%2BKQEMU_unter_Linux

Diese Seite wurde bisher 2.588 mal abgerufen. Diese Seite wurde zuletzt am 7. März 2010 um 17:01 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 …