SmartOS Live-CD mit KVM, Installation von QEMU unter Solaris, OpenSolaris, Illumos
(Link zu dieser Seite als [[QEMU-KVM-Buch/ QEMU unter Solaris]])
Inhaltsverzeichnis |
[bearbeiten] OpenIndiana 151a
Download: http://openindiana.org/download/
Das Opensolaris-basierte OpenIndiana unterstützt die Kernel-based Virtual Machine. Der Kern von Openindiana basiert auf dem Kernel des Illumos-Projekts. Ein ISO-Image einer Live-CD steht zum Download bereit.
[bearbeiten] SmartOS Live-CD mit KVM
Website: http://smartos.org
Download: https://download.joyent.com/pub/iso/latest.iso
SmartOS basiert auf Illumos - einer freien OpenSolaris-Version. SmartOS besitzt einen Illumos-Kernel, eine BSD-Paketverwaltung und GNU-Werkzeuge. Neben der Unterstützung von Zonen, ZFS und DTrace wurde die Kernel-based Virtual Machine für SmartOS portiert. Ein ISO-Image einer Live-CD von SmartOS steht zum Download bereit. Zum Booten der Live-CD muss der Computer die Full Virtualization unterstützen. Nach dem Booten loggt man sich als Benutzer root und dem Passwort root ein. Das Kernel-Modul kvm wird per Default geladen.
Host ~# modinfo | grep kvm 211 fffffffff81bf000 3ba90 52 1 kvm (kvm driver v0.1) Host ~# ls -l /dev/kvm
QEMU wird per Default mit KVM-Support gestartet.
Host ~$ qemu-system-x86_64 -monitor stdio (qemu) info kvm kvm support: enabled (qemu) quit
Das Tool kvmstat dient zum Überwachen der virtuellen Maschinen.
Host ~$ kvmstat
Mit der Option -h erhält man eine Hilfe.
Host ~$ kvmstat -h Usage: kvmstat [interval [count]]
Displays statistics for running kernel virtual machines, with one line per virtual CPU. All statistics are reported as per-second rates.
The columns are as follows:
pid => identifier of process controlling the virtual CPU
vcpu => virtual CPU identifier relative to its virtual machine
exits => virtual machine exits for the virtual CPU
haltx => virtual machine exits due to the HLT instruction
irqx => virtual machine exits due to a pending external interrupt
irqwx => virtual machine exits due to an open interrupt window
iox => virtual machine exits due to an I/O instruction
mmiox => virtual machine exits due to memory mapped I/O
irqs => interrupts injected into the virtual CPU
emul => instructions emulated in the kernel
eptv => extended page table violations
[bearbeiten] Installation von QEMU unter Solaris, OpenSolaris und Illumos
[bearbeiten] x86/64-Architektur
Für die x86/64-Architektur steht ein QEMU-Paket auf der Website http://www.thoughtwave.com/downloads.html unter dem Punkt QEMU v0.9.1 with MTOOLS 3.9.10 for Solaris 10 zum Download bereit. Nach dem Download entpackt man diese Datei.
Host ~# bzip2 -d THOTqemu-0.9.1-20080113-universal-solaris10.bz2
Anschließend wird mit dem Tool pkdadd dieses Paket installiert.
Host ~# pkgadd -d THOTqemu-0.9.1-20080113-universal-solaris10
Es ist folgender Link zu setzen, damit die Library libSDL-1.2.so.0 gefunden wird.
Host ~# ln -s /opt/thoughtwave/lib/libSDL-1.2.so.0 \
/lib/libSDL-1.2.so.0
Nach der Installation wird QEMU mit Angabe des Pfades aufgerufen.
Host ~$ /opt/thoughtwave/bin/qemu
Damit man nicht immer den Pfad angeben muss, wird der Suchpfad wie folgt erweitert.
Host ~$ export PATH=$PATH:/opt/thoughtwave/bin/
Der optionale Beschleuniger KQEMU kann bis QEMU 0.11.1 verwendet werden. KQEMU ist aus den Quellen zu kompilieren. Dazu müssen erst die entsprechenden Werkzeuge installiert werden. Eine einfache Installation ist mit dem Tool pkgutil möglich. Dieses Tool lädt man von der URL http://www.blastwave.org herunter und installiert es mit pkgadd.
Host ~# pkgadd -d pkgutil_sparc.pkg Host ~# cp -p /opt/csw/etc/pkgutil.conf.CSW /etc/opt/csw/pkgutil.conf
Damit man nicht den Pfad zu pkgutil angeben muss, erweitert man den Suchpfad.
Host ~# export PATH=$PATH:/opt/csw/bin/
Als erstes ist die Paketliste zu aktualisieren.
Host ~# pkgutil --catalog Host ~# pkgutil --install gnupg textutils
Es werden die notwendigen Werkzeuge installiert.
Host ~# pkgutil --install gmake gcc4 gnustep_make wget
Jetzt wird das tar-Archiv mit dem Beschleuniger KQEMU von der Website http://opensolaris.org/os/project/qemu/downloads/ heruntergeladen und entpackt.
Host ~# bzip2 -d \
kqemu-1.3.0pre11__sol10FCSplus_20070214_src_and_bins.tar.bz2
Host ~# tar xvf \
kqemu-1.3.0pre11__sol10FCSplus_20070214_src_and_bins.tar
Im angelegten Verzeichnis kompiliert man die Quellen.
Host ~# cd kqemu-1.3.0pre11__osol20070214 Host ~# ./configure Host ~# qmake
Das generierte Kernel-Modul kqemu-solaris-i386 ist umzubenennen.
Host ~# mv kqemu-solaris-i386 kqemu
Mit folgenden Schritten wird das Kernel-Modul installiert.
Host ~# /usr/sbin/install -f /usr/kernel/drv \
-m 755 -u root -g sys kqemu
new owner is root
kqemu installed as /usr/kernel/drv/kqemu
Host ~# /usr/sbin/install -f /usr/kernel/drv \
-m 644 -u root -g sys kqemu.conf
new owner is root
kqemu.conf installed as /usr/kernel/drv/kqemu.conf
Aktiviert wird das Modul mit add_drv.
Host ~# add_drv kqemu
Zur Kontrolle wird der Befehl modinfo angewendet.
Host ~# modinfo | grep kqemu 215 f9c67000 1a608 207 1 kqemu (kqemu accelator v0.2)
[bearbeiten] SPARC-Architektur
Für die SPARC-Architektur steht ein QEMU-Paket auf der Website http://www.thoughtwave.com/downloads.html unter dem Punkt QEMU v0.9.1 with MTOOLS 3.9.10 for Solaris 10 zum Download bereit. Nach dem Download entpackt man die Datei.
Host ~# bzip2 -d THOTqemu-0.9.1-20080113-universal-solaris10.bz2
Anschließend wird mit dem Tool pkdadd dieses Paket installiert.
Host ~# pkgadd -d THOTqemu-0.9.1-20080113-universal-solaris10
Es ist folgender Link zu setzen, damit die Library libSDL-1.2.so.0 gefunden wird.
Host ~# ln -s /opt/thoughtwave/lib/libSDL-1.2.so.0 \
/lib/libSDL-1.2.so.0
Nach der Installation wird QEMU mit Angabe des Pfades aufgerufen.
Host ~$ /opt/thoughtwave/bin/qemu
Damit man nicht immer den Pfad angeben muss, wird der Suchpfad wie folgt erweitert.
Host ~$ export PATH=$PATH:/opt/thoughtwave/bin/
[bearbeiten] Quickstart
Eine Anleitung für die ersten Schritte mit QEMU findet man unter der URL http://qemu-buch.de/d/Quickstart.