20.10.2014, 12:38 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Qemu + KQemu Installation HowTo?


Qemu (http://fabrice.bellard.free.fr/qemu) ist wie das kommerzielle VMWare http://www.vmware.com/de/ eine Virtualisierungs-Software, mit der sich ein kompletter PC samt Hardware emulieren lässt.

Damit lassen sich z.B. gefahrlos neue Programme ausprobieren, oder Webseiten unter Linux mit dem Internet Explorer testen:
https://webuser.fh-furtwangen.de/~tschan/gestaltung/img/linux-qemu-winxp-small.jpg

Qemu ist im Debian Repository und bei einer Kanotix-Installation schon mit an Bord.
Nicht dabei ist jedoch das "QEMU Accelerator Module" namens KQEMU, das im Gegensatz zu Qemu nicht Open Source sondern ein proprietäres Produkt ist.

Da die gesamte Hardware eines PC's emuliert werden muss, läuft die virtuelle Maschine um den Faktor 5 bis 10 langsamer als das Host Betriebssystem.
Mit KQEMU wird ein Großteil des Codes des Gastbetriebssystems direkt auf dem Host ausgeführt und erreicht so eine bessere "slow down ratio" von 1 bis 2.

Um den Vorteil von KQEMU nutzen zu können, müssen wir uns QEMU selbst kompilieren:

Zuerst müssen die Qemu-Quellen und das proprietäre
KQemu Binary heruntergeladen werden:
:code:$ wget http://fabrice.bellard.free.fr/qemu/qemu-0.8.0.tar.gz
$ wget ::
(Oder manuell von http://fabrice.bellard.free.fr/qemu/download.html)

Dann root werden:
:code:$ su:code:

Gnu C Compiler in der Version 3.3 installieren:
(da qemu 0.8.0 diesen benötigt)
:code:# apt-get install gcc-3.3:code:

Simple DirectMedia? Layer development files installieren:
(für den grafischen Output von Qemu)
:code:# apt-get install libsdl1?.2-dev:code:

zlib compression library development files installieren:
:code:# apt-get install zlib1g?-dev:code:


Weiter als User:
:code:# exit:code:

Qemu und KQemu in /tmp auspacken:
:code:$ cd /tmp
$ tar zxvf /home/madblueimp/qemu-0.8.0.tar.gz
$ cd qemu-0.8.0
$ tar zxvf /home/madblueimp/kqemu-0.7.2.tar.gz:code:

gcc 3.3 beim konfigurieren angeben:
:code:$ ./configure --cc=gcc-3.3 --host-cc=gcc-3.3:code:

Da der Kernel mit gcc 4.0 übersetzt wurde,
muss auch KQEMU mit gcc 4.x übersetzt werden.
Dazu:
:code:$ cd kqemu
$ make clean
$ make:code:

Zuück ins Qemu Verzeichnis, root werden und
Qemu nach /usr/local installieren:
:code:$ cd ..
$ su
# make install:code:

Damit das neue qemu im Pfad gefunden wird,
einfach das alte deinstallieren:

:code:# apt-get --purge remove qemu:code:

Danach ein neues Terminal starten.
(Zum Neuladen der Pfade)


Damit KQemu genutzt werden kann, muss das
Modul in den Kernel geladen werden:

:code:# modprobe kqemu
# mknod /dev/kqemu c 250 0
# chmod 666 /dev/kqemu:code:


Um das KQemu Modul nicht immer erst umständlich laden zu müssen,
kann man sich dafür auch ein Startskript erstellen,
das beim Booten automatisch ausgeführt wird.

Dazu wechseln wir zuerst in das init Verzeichnis
und erstellen ein Skript namens "kqemu":

:code:# cd /etc/init.d
# vi kqemu:code:

Dort folgende Zeilen eintragen und speichern:
:code:#!/bin/sh
# /etc/init.d/kqemu: load/remove the KQEMU kernel module and create/remove the KQEMU device
#
# description: KQEMU kernel module
#
case "$1" in
      1. "Loading KQEMU module" /sbin/modprobe kqemu
      2. "Creating KQEMU device" /bin/mknod /dev/kqemu c 250 0 # Give read/write access to everyone: /bin/chmod 666 /dev/kqemu ;;
      1. "Removing KQEMU device" /usr/bin/unlink /dev/kqemu
      2. "Removing KQEMU module" /sbin/modprobe -r kqemu ;;
    1. )
      1. "Usage: $0 {start|stop}"
      2. 1
esac
exit 0:code:

Danach das Skript noch ausführbar machen:
:code:# chmod +x kqemu:code:

Dann ins Verzeichnis mit den im Runlevel 5 zu startenden Scripten wechseln:
:code:# cd /etc/rc5?.d:code:

Und einen symbolischen Link zum Start des Scriptes anlegen:
"S" steht hier für "Start", d.h. der Parameter "start" wird an das Skript übergeben.
"20" steht für die Prioritäts-Reihenfolge gegenüber anderen Skripten.

:code:# ln -s /etc/init.d/kqemu S20kqemu:code:

Nach einem Neustart sollte das KQEMU Modul schon geladen sein
und auch das erforderliche Device /dev/kqemu existieren.


Um zu testen ob Qemu tatsächlich mit KQEMU läuft kann
man während der Emulation strg+alt+2 drücken,
so gelangt man in den Qemu Monitor.
Die Eingabe von
:code:info kqemu:code:
sollte
:code:kqemu is enabled:code:
ergeben.
Mit strg+alt+1 kommt man zurück in das Gast-System.


Zur komfortablen Nutzung von Qemu ist ein GUI
wie das Java-basierte JQEMU sehr nützlich:
http://www.exprofesso.com/jqemu/

Gestartet wird es mit
:code:$ java -jar jqemu.jar:code:


Für die Erstellung von Images und weitere Informationen
ist die Dokumentation auf der Qemu Homepage sehr hilfreich:
http://fabrice.bellard.free.fr/qemu/qemu-doc.html


Zuletzt noch ein Beispiel, wie man eine Kanotix-Live-CD
in Qemu mit Netzwerkunterstützung bootet:
:code:$ qemu -snapshot -cdrom /media/sda7?/ISO/Kanotix/KANOTIX-2005-04.iso -m 265 -boot d -net nic -net user:code:
XML Revisions of $tag
Seiten-History :: Letzter Editor : madblueimp :: Eigentümer : madblueimp ::
Powered by pnWikka 1.0
 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.