# FAQ Tips > Hier Suchen und Finden, Links, Tutorials >  Xen 3.x

## stefan.becker

1) Was ist Xen ?

2) Links

3) Xen mit Suse Linux nutzen

4) Xen Verwaltung, Gäste installieren (voll-virtualisiert)

5) Tipps & Tricks für vollvirtualisierte Gäste

6) Tipps & Tricks für paravirtualisierte Gäste

7) Installation von paravirtualisierten Gästen



Hinweis: *Xen* ist ein Produkt für die Servervirtualisierung. Es erfordert eine intensive Einarbeitung. Wer einfach nur ein Windows nebenbei zum Linux in einer VM installieren will, sollte sich eher *VMWARE* oder *VirtualBox* ansehen. Diese Produkte sind für diesen Zweck intuitiver zu bedienen und auch leistungsfähiger.

Entgegen vieler Gerüchte kann Xen (zumindest derzeit noch nicht) Grafikkarten zur Erzielung von 3D Effekten für Spiele an Windows Gäste weiterreichen.



13.02.07: Erstellt
22.04.08: Links überprüft, Xen/Suse(3)
24.04.08: Xen/Nvidia (3.2)
25.04.08: Windows Gast (4, 5)
28.04.08: Übergangslose Maus (5)
04.05.08: Klärung Para/Vollvirtualisierung, Wiki-Beschreibung aktualisiert, qemu-img Beispiele
13.05.08: Paravirtualisierte Gäste (Tipps (6))
25.05.08: Paravirtualisierte Gäste (Installation (7))
09.06.08: HVM: Konsole, lokale Zeit
02.07.08: Höhere Auflösung für paravirtualisierte Gäste
20.12.08: Alternative nv/nvidia Konfiguration
03.01.09: Tools "virt-manager" /"xm" hinzugefügt
29.03.09: Links aktualisiert, Citrix&ProxMox hinzugefügt

----------


## stefan.becker

*1.1) Beschreibung aus Wikipedia*




> Die Software Xen ist ein Virtuelle-Maschinen-Monitor (VMM), der unter der GNU General Public License (GPL) steht und an der Universität Cambridge entwickelt wird.
> 
> Xen läuft direkt auf der Hardware (x86, IA-64, PowerPC). Diese wird für die darauf laufenden Systeme (Domains) paravirtualisiert. Dabei wird eine sehr hohe Performance erzielt, da die Hardware nicht emuliert wird, sondern diese den Gastsystemen mit einem sehr kleinen Overhead zur Verfügung gestellt wird.
> 
> Die Gastsysteme (Domains) können unter anderem Linux und NetBSD sein. Auf der Brainshare 2005 stellte Novell eine Portierung von NetWare auf Xen vor. Seit der Version 3.0 können Betriebssysteme, wie z. B. Microsoft Windows, dank speziell dafür entwickelter Prozessorerweiterungen, wie etwa Intel VT oder AMD-V (auch AMD Pacifica genannt), ohne Modifikationen mit Xen genutzt werden. Andere Portierungen sind geplant.
> 
> Xen setzt eine Ebene unter den normalen Betriebssystemkerneln an und zieht eine abstrahierende Schicht zwischen der Hardware und den Gastsystemen ein; es wacht als ein so genannter Hypervisor über die Verteilung der Ressourcen – wie CPU-Zeit, I/O-Zyklen u. a. – an die Gast-Systeme.
> 
> Die zu beherbergenden Kernel müssen dabei an die Xen-Architektur angepasst werden, daher ist es zunächst einmal nur für quelloffene Systeme möglich, auf Xen portiert zu werden.
> ...



Quelle: http://de.wikipedia.org/wiki/Xen


*1.2) Grundbegriffe Emulation, Hypervisor, Para-Virtualisierung (Linux Gast), Voll-Virtualisierung (Windows Gast)*

Im Serverbereich wird am häufigsten die *Para-Virtualisierung* verwendet. Dies erfordert für den Gast ein Betriebssystem mit einem angepassten Kernel. Hierüber ist dann über den Hypervisor im Host ein direkter Zugriff auf Hardware möglich. Para-Virtualisierung ist sehr performant.  Para-Virtualisierung wird zumeist mit Linux-Gästen verwendet. Denkbar ist hier ein Szenario von mehreren Linux-Gästen mit jeweils einer speziellen Aufgabe in einer Xen-Domäne. Also z. B. Mailserver, Fileserver etc.

Bei der *Voll-Virtualisierung* hingegen emuliert Xen mit Hilfe von Qemu-Komponenten einen vollständigen virtuellen PC. In diesem kann dann ein unmodifiziertes Gastbetriebssystem ablaufen.

Die Voll-Virtualisierung benötigt außerdem einen modernen Prozessor mit Unterstützung von Virtualisierungstechniken (Intel VT, AMD Pacifica). Man spricht hier daher auch von *HVM* (Hardware Virtual Machine).

Ob der Prozessor im eigenen PC dies kann, lässt sich so prüfen:


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

Falls der Prozessor ausreichend ist, gibt der Befehl eine Zeile aus wie:


```
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm svm cr8legacy ts fid vid ttp tm stc
```

Die Voll-Virtualisierung wird z. B. für Windows Gäste verwendet, die mangels angepasstem Kernel nicht para-virtualisiert laufen können. Ebenso wird sie häufig für ältere Linux Distributionen ohne angepassten Xen Kernel verwendet.

Die Voll-Virtualisierung ist nicht sehr performant. Ein direkter Hardwarezugriff ist ebenfalls nicht möglich.

Xen ist also keine Lösung, um auf einem Linux Host mit einem Windows Gast 3D Spiele auszuführen. 


Zum Nachlesen einiger Grundbegriffe: 
http://www.heise.de/open/Die-Woche-D.../artikel/85019
http://www.pug.org/mediawiki/index.php/Xen-Installation


*1.3) VMWARE/Qemu/VirtualBox auf einem Xen Host nutzen*

Kurze Antwort: Das geht gar nicht zusammen.

Entweder lassen sich die Kernelmodule dieser Produkte nicht übersetzen (VMWARE, KVM, VirtualBox)  oder es startet nicht (Qemu).

Abhilfe: Auf dem Xen Host parallel einen Standard Kernel installieren (bei Suse "kernel-default". Bei Bedarf dann statt dem Xen Kernel den Standardkernel booten.

----------


## stefan.becker

Homepage: http://www.cl.cam.ac.uk/research/srg/netos/xen/


Deutsche Xen FAQ: http://wiki.computerwoche.de/doku.ph...ierung/xen/faq


Xen User Manual: http://www.cl.cam.ac.uk/research/srg.../readmes/user/


Xen im Einsatz, Beispielkonfigurationen: http://wiki.xensource.com/xenwiki/CoolConfigurations

Debian Xen Howto: http://wiki.debian.org/Xen


Diverse Links zur Einrichtung eines Windows Gastes unter Xen:
http://www.linuxforen.de/forums/show...7&postcount=36
http://en.opensuse.org/Xen_Full_Virtualization_Example
http://article.gmane.org/gmane.comp....xen.user/12411


Weiterhin gibt es einiger Ableger von Xen. Beispiele:
Citrix Xen Desktop/Server: http://www.citrix.com
ProxMox: http://pve.proxmox.com/wiki/Main_Page
VirtualIron: http://www.virtualiron.com/
Sun XVM-Server: http://www.sun.com/software/products...rver/index.xml


GUIs / Oberflächen (Data Center Management):
OpenQRM mit Xen Plugin: http://www.openqrm.com/
Convirt: http://www.convirture.com/index.php


Diverse Howtos:
Xen allgemein: http://www.pug.org/mediawiki/index.php/Xen-Installation
Xen 2: http://www.linuxforen.de/forums/showthread.php?t=188753
Centos DomU: http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU

----------


## stefan.becker

*3.1) Xen Basisinstallation*

Suse kann Xen komfortabel über Yast2 installieren. Zunächst muss man das Paket "yast2-vm" installieren:


```
zypper install yast2-vm
```

Danach ist in Yast2 der Menüpunkt "Virtualisierung" vorhanden. Die weitere Installation erledigt dann menügeführt die Funktion "Hypervisor und Werkzeuge installieren".

Dadurch werden weitere Verwaltungswerkzeuge installiert:
- Yast2 / Virtualisierung / Virtual Machine Manager
- Yast2 / Virtualisierung / Virtuelle Computer erstellen

Außerdem wird ein spezieller Xen-Kernel installiert.

Nach der Installation muss der PC neu gestartet werden, wobei man im Bootmenü dann den Xen-Kernel wählen muss.


*3.2) Xen und Nvidia Grafikkarten*

*3.2.1) Original Nvidia Treiber nutzen (Standard+Xen)*

Standardmäßig gehen der Nvidia Treiber und Xen nicht zusammen. Mit etwas Handarbeit kriegt man das ganze dennoch zum Laufen.

Getestet mit: 
- Nvidia Treiber 1.0-173.08, Suse 10.3-64 Bit, Kernel 2.6.22.17-0.1
- Nvidia Treiber 1.0-173.14.05, Suse 11.0-64 Bit, Kernel 2.6.25.4-8

Zunächst muss der Nvidia Treiber in der Standardumgebung, also kein Xen-Kernel, normal installiert werden. Siehe dazu: http://www.linuxforen.de/forums/show...threadid=86435

Wenn das läuft, wird der PC mit dem Xen-Kernel neu gestartet.

Im folgenden ist die Kernelversion (hier "2.6.22.17-0.1") anzupassen. Bei 32-Bit Distributionen ist "x86_64" durch "i386" zu ersetzen. Alle Befehle im folgenden mit root-Berechtigung ausführen!

Als nächstes einen eigenen Xen-Kernel-Source-Zweig anlegen anlegen


```
cp -r /usr/src/linux /usr/src/linux-xen
```

Falls ein Kernel vor 2.6.24 eingesetzt wird, muss danach im Kernelsource-Verzeichnis ein zusätzliches Includeverzeichnis erstellt werden:


```
cd /usr/src/linux-xen
mkdir include2
cd include2
ln -s /usr/src/linux-xen/include/asm-x86-64 asm
```

Nun muss der Xen-Kernel konfiguriert werden:

Suse 11.0/Kernel 2.6.25:


```
cd /usr/src/linux-xen
cp arch/x86_64/defconfig.xen .config
make oldconfig
make scripts
make prepare
```

Suse 11.1/Kernel 2.6.27:


```
cd /usr/src/linux-xen
cp /usr/src/linux-2.6.27*obj/x86_64/xen/.config .config
cp /usr/src/linux-2.6.27*obj/x86_64/xen/Module.symvers Module.symvers
make scripts
make prepare
```

Jetzt den Nvidia Treiber entpacken und in das entpackte Verzeichnis gehen:


```
sh N*173.08*run --extract-only
cd NVIDIA*pkg2/usr/src/nv
```

Dann kann das Kernelmodul des Treibers übersetzt werden:


```
export IGNORE_XEN_PRESENCE=1
export SYSSRC=/usr/src/linux-xen
make module
```

Zuletzt das Modul umkopieren und testweise den X-Server starten:


```
cp nvidia.ko /lib/modules/2.6.22.17-0.1-xen/kernel/drivers/video
depmod -a
insmod ./nvidia.ko
startx
```

Wenn jetzt der X-Server startet, ist alles in Ordnung. Danach einfach den PC mit Xen-Kernel neu starten.

Links:
http://www.nvnews.net/vbulletin/showthread.php?t=106395
http://en.opensuse.org/Use_Nvidia_driver_with_Xen


*3.2.2) In Xen den "nv" Treiber nutzen, sonst den Original Nvidia*

Mit der folgenden Lösung startet der PC bei Auswahl des Xen-Kernels mit dem nv-Treiber, sonst mit dem nvidia-Treiber.

Dazu müssen zunächst 2 xorg.conf-Dateien vorhanden sein:
- /etc/X11/xorg.conf.nvidia => nvidia-3D-Treiber
- /etc/X11/xorg.conf.nv => nv-2D-Treiber

Über den Autostart wird abhängig von einem Boot-Parameter ein Link "xorg.conf" auf die jeweilige Konfiguration gesetzt.


```
rm /etc/X11/xorg.conf

if [[ ${X_DRIVER} != "nv" ]] ; then
  echo 'NVIDIA-3D-Treiber'
  ln -s /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
else
  echo 'NV-2D-Treiber'
  ln -s /etc/X11/xorg.conf.nv /etc/X11/xorg.conf
fi
```

Dieses Script bei Suse in die Datei "/etc/rc.d/boot.local" schreiben.

Beim Start mit dem xen-Kernel muss der Bootparameter "X_DRIVER" gesetzt werden. Auszug aus der Datei "/boot/grub/menu.lst":


```
title Xen -- openSUSE 11.1 - 2.6.27.7-9
    root (hd0,1)
    kernel /boot/xen.gz 
    module /boot/vmlinuz-2.6.27.7-9-xen ... X_DRIVER=nv
    module /boot/initrd-2.6.27.7-9-xen
```

----------


## stefan.becker

*ConVirt*

Im folgenden wird zur Konfiguration, Installation und Starten von Gästen das Programm *ConVirt* vorausgesetzt. Mit ConVirt lassen sich per GUI Gäste installieren und starten.

Homepage: http://gnomefiles.org/app.php/ConVirt

Zum Start des Programms eine Konsole öffnen, per "su" als root anmelden und dann "convirt" eingeben.

Natürlich kann auch das Standard-Tool *virt-manager*  verwendet werden (siehe 4.4).

Weiterhin kann Xen über das Kommando *xm* an der Kommandozeile administriert werden.


*4.1) Neuinstallation eines Windows Gastes*

- Zunächst muss man unter "Image Store" den Punkt "Windows_CD_Install" markieren. 
- Über das Kontextmenü (rechte Maustaste) "Edit Settings wählen".
- Im folgenden Dialog unter "Provisioning" den Parameter "VM_DISKS_DIR" anpassen.
- Verzeichnis eingeben, wo die Images liefen sollen. Dann "OK".
- Über das Kontextmenü dann "Provision" wählen.
- Im folgenden Dialog "localhost" wählen.
- Danach startet der Gast-Einstellungsdialog.
- Hier folgende Einstellungen setzen/kontrollieren:


```
   - General / VM Name => z. B. WinXP
   - General / Memory => bei Vista mindestens 768 MB, bei XP 512, bei 2 K 256
   - General / Connetced Disks => Kontrolle CDROM-Device (Standard /dev/cdrom)
   - Miscellaneous / acpi => bei Vista "1", bei XP / 2 K egal
   - Miscellaneous / apic => bei Vista "1", bei XP / 2 K egal
   - Miscellaneous / sdl   => "1" (siehe untern SDL <=> VNC)
   - Miscellaneous / vnc  => "0" (siehe untern SDL <=> VNC)
```

- Im Anschluss wird der Gast mit einem leeren Image angelegt.
- Dann die passende Windows CD einlegen und den "Start" Button drücken.

Im Anschluss erfolgt eine Windows Installation analog zur echten Blechbüchse inkl. Neustart des Gastes zwischendurch.

Nach Abschluss der Installation muss man den Gast noch so umstellen, dass von dem Image und nicht mehr der CD gebootet wird.

- Gast markieren
- "Change VM Settings" per Kontextmenü wählen
- "Miscellaneous" / "boot" => "c" einstellen.


*4.2) Linux Gäste, voll virtualisiert*

Auch ein Linux Gast lässt sich mit Vollvirtualisierung installieren. Für ältere Distributionen ohne modifizierten Xen-Kernel ist dies sogar die einzige Möglichkeit.

Der Ablauf ist analog zum Windows Gast, allerdings muss bei ConVirt/ImageStore der Punkt "Linux_CD_Install" gewählt werden.

Bezüglich Sound/Maus siehe unten, Tipps&Tricks.


*4.3) Images übernehmen, Images verwalten*

Im folgenden wird ein parallel installiertes Qemu vorausgesetzt, um den Befehl "qemu-img" nutzen zu können. Im Paket "xen-tools" sind zwar auch entsprechende Kommandos enthalten (img2qcow, qcow-create, qcow2raw), allerdings bei weitem nicht so mächtig wie qemu-img.

Tipps zu qemu-img siehe auch: http://www.linuxforen.de/forums/show...9&postcount=10


*4.3.1) Qemu-Images übernehmen*

Windows Gäste laufen wie bereits erwähnt in einem virtuellen PC aus Qemu Komponenten. Daher können Qemu-Gäste problemlos übernommen werden:

- Zunächst wie zuvor einen Windows Gast anlegen
- Hierbei wird ein leeres Image für den neuen Gast angelegt
- Vor dem ersten Start einfach das vorhandene Qemu-Image über das neue drüberkopieren:


```
cp /home/qemu/images/winxp.img /home/xen/images/winxp.disk.xm
```

- Dann die Gastkonfiguration ändern (Gast markieren, "Change VM Settings")
- Im Reiter "Miscellaneous" zuletzt auf "boot-c" umstellen
- Weitere Einstellungen siehe oben.


*4.3.2) qcow-Images*

Normalerweise legt convirt immer raw-Images an. Ein Image mit max. 20 GB belegt hier von Anfang an 20 GB. Allerdings kann auch das Qemu-Format "qcow" verwendet werden. Hier belegt das Image maximal so viel Platz wie der Gast aktuell belegt. Bei Bedarf wächst dieses Image bis zur Maximalgröße.

Umwandlung eines raw-Images in ein qcow-Image:


```
qemu-img convert winxp_raw.disk.xm -O qcow winxp_qcow.disk.xm
```

Anlegen eines 20 GB großen qcow Images:


```
qemu-img create -f qcow winxp_qcow.disk.xm 20G
```

convirt legt als Standard immer raw-Images an. Will man lieber ein anderes Format oder auch eine andere Größe, müsste man entweder das Create-Script von convirt anpassen oder nach vorheriger Vorgehensweise nach Anlegen der Gastkonfiguration einfach ein mit qemu-img erzeugtes Image unterjubeln.

In convirt muss man auch entsprechend beim Zuordnen des Images den Typ "qcow" auswählen. In der Gastkonfiguration sieht das z. B. so aus:


```
disk=['tap:qcow:/home/vms/xen/images/win2k.qcow,hda,w']
```


*4.3.3) VMWARE-Images übernehmen*

Unter der Voraussetzung, dass das VMWARE Image eine zusammenhängende Datei ist, kann man auch dieses übernehmen:

- Mit Hilfe des VMWARE Tools "vmware-vdiskmanager" (Workstation, Server) lässt sich zunächst ein passendes VMWARE Image schaffen, wenn es nicht eine zusammenhängende Datei ist.
- Umwandlung z. B.:

```
qemu-img convert -f vmdk winxp.vmdk -O raw winxp.disk.xm
```

Weitere Anleitung: http://ian.blenke.com/vmware/vmdk/xen/hvm/qemu


*4.4) Virt-Manager*

Hinter "Yast2 / Virtualisierung / Virtual Machine Manager" verbirgt sich letztlich das Tool "virt-manager".

Ab Version 0.60 kann das Tool auch neue Gäste anlegen inkl. Soundkarte. Daher sollte man sich zunächst eine neue Version installieren. Download und Installation z. B. über http://software.opensuse.org/search

Xen erfordert Rootrechte. Damit man das Tool als User über sudo nutzen kann, ohne dauernd das Kennwort einzugeben, sind folgende Änderungen notwendig:

- beim Hochfahren von Gnome/KDE im Autostart ein Script starten mit folgendem Befehl:


```
xhost + local:
```

- die Datei "/etc/sudoers" erweitern/ergänzen (Fettdruck):


```
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE DISPLAY"
...
Username  ALL=NOPASSWD:/usr/bin/virt-manager
```

- einen Starter auf den Desktop legen, Befehl "sudo virt-manager"

Alternativen:
- Start als Anwender, bei Bedarf wird dann das root-Kennwort abgefragt
- Kommadozeile öffnen, Root-Login mit "su -"
- grafisches-Login als root

Nach dem Start der Anwendung zunächst einen Doppelklick auf die Zeile "localhost" machen, das baut die Verbindung zu Xen auf. Es werden dann alle bereits vorhanden Domänen angezeigt.

Ein Doppelklick auf eine Domäne (DOM1-n) öffnet dann ein weiteres Fenster mit Eigenschaften (Hardware) und einer VNC-Konsole zur Anzeige.

Um einen neuen Gast anzulegen, in der Zeile "localhost" über die rechte Maustaste das Kontextmenü öffnen, die Funktion "Neu" auswählen. Im folgenden Assistenten kann ein neuer Gast dialoggeführt "zusammengebaut" werden.

Zum Anlegen eines neuen Gastes nach dem Start einen Doppelklick

Homepage: http://virt-manager.et.redhat.com/


*4.5) "xm" in der Kommandozeile*

In einer Konsole mit Root-Login (xterm, su) kann über das Kommando "xm" Xen verwaltet werden.

Durch Eingabe von "xm --help" erhält man eine Liste der Optionen. Eine ausführliche Hilfe zeigt das Kommando "man xm".

----------


## stefan.becker

*Erweiterung / Änderung der Gastkonfiguration*

Bei ConVirt dazu den Gast markieren und "Edit VM Config File" starten. Einige Einstellungen lassen sich auch mit der Funktion "Change VM Settings" ändern.

Bei virt-manager muss das jeweilige Gastfenster geöffnet werden, die Änderungen erfolgen im Reiter "Hardware".


*Deutsche Tastaturbelegung*

Damit die Gäste eine deutsche Tastaturbelegung erhalten, muss in der Datei "/etc/xen/xend-config.sxp" folgende Zeile stehen:


```
(keymap 'de')
```

Falls der Parameter "keymap" bereits mit einer anderen Belegung gesetzt ist, diese Zeile entsprechend abändern.

Falls man "virt-manager" benutzt und obige Einstellung nicht hilft:
- Gastfenster öffnen, Reiter "Hardware"
- In der Liste "Anzeige" öffnen, entfernen
- "Add Hardware", Hardware-Typ "Graphics Device"
- Im folgenden Fenster bei Tastaturlayout: "Gleich wie Host" abwählen, bei "Andere" "de" eingeben


*SDL <=> VNC*

Normalerweise läuft ein Windows Gast in einem VNC-Fenster. Man kann wie auch bei Qemu den Gast in einem SDL-Fenster laufen lassen. Dazu müssen folgende Einstellungen in der Gastkonfiguration eingetragen bzw. geändert werden:


```
sdl=1
vnc=0
vncviewer=0
```

Bei SDL startet der Gast in einem SDL Fenster. Mit Beendung des Fensters beendet sich auch der Gast. Außerdem kann der Gast dann nur bei laufendem X-Server starten.

Bei VNC läuft der Gast im Hintergrund und auch ohne X-Server. Bei ConVirt kann man so zum Gast schalten: 
- Auswahl "localhost" 
- Gast markieren
- Button "Console" drücken
- Bei VNC läuft der Gast auch nach Beendigung des Fensters "Console" im Hintergrund weiter.


*Übergangslose Maus (SDL) bzw. Mauszeiger Host/Gast nicht synchron (VNC)*

Falls die Mauszeiger von Host und Gast nicht deckungsgleich übereinander liegen oder wenn man bei einem SDL-Fenster in Vollvirtualisierung eine übergangslose Maus haben will, hilft das Hinzufügen folgender Zeilen in die Gastkonfiguration:


```
# USB wird aktiviert
usb = 1
# als Maus wird Tablet genommen
usbdevice = 'tablet'
```

Bei einem Linux Gast muss noch der "evtouch"-Treiber installiert werden:

http://stz-softwaretechnik.com/~ke/t...n/evtouch.html

Danach muss man herausfinden, welches Event-Interface man nehmen muss (Kommandozeile im Gast, root):


```
cat /proc/bus/input/devices
```

Das gewünschte Interface ist "... QEMU USB TABLET". Steht dort "event3", kann man einen Eintrag in die "xorg.conf" als Ersatz für die bisherige Maus vornehmen, bei "Option Device" die zuvor bestimmte Schnittstelle eintragen:


```
Section "InputDevice"
        Identifier "Mouse1"
        Driver "evtouch"
        Option "Protocol" "usb"
        Option "Device" "/dev/input/event3"
        Option "DeviceName" "touchscreen"
        Option "SendCoreEvents"
        Option "CorePointer"
        Option "MinX" "0"
        Option "MinY" "0"
        Option "MaxX" "32767"
        Option "MaxY" "32767"
        Option "ReportingMode" "Raw"
EndSection
```

Nach einem Neustart des X-Servers sollte die übergangslose Maus einwandfrei funktionieren.

Bei einem Windows Gast ist nichts weiter einzurichten.


*Sound aktivieren*

Durch folgende Zeile in der Gastkonfiguration erhält der Gast eine es1370-Soundkarte:


```
soundhw = 'es1370'
```


*Gast im Fullscreen laufen lassen*

Hierzu einfach im laufenden Gast [Strg]-[Alt]-[F] drücken, zurück zur normalen Anzeige mit der gleichen Tastenkombination.


*Vista Gäste*

Bei Vista muss "acpi=1" und "apic=1" eingestellt werden ("Change VM Setiings" / "Miscellaneous").


*3D im Gast*

Über die Software *vmgl* wird im Gast 3D Funktionalität ermöglicht, ohne dem Gast eine eigene Grafikkarte zuzuweisen: http://www.cs.toronto.edu/~andreslc/vmgl/

Das ganze allerdings nur für Linux/*BSD Host und Gast mit xorg bzw. x11-X-Server.

Das Programm muss sowohl am Host als auch im Gast installiert werden. OpenGL Aufrufe werden dann von vmgl vom Gast an den Host weitergegeben und dort ausgeführt.


*Linux-CD-Installation sehr langsam bei Vollvirtualisierung*

Falls die Installation eines Linux bei Voll-Virtualisierung zu langsam ist, sollte man ACPI und APIC in der Gastkonfiguration deaktivieren (Wert "0") (Change VM Settings / Miscellaneous).

Nach der Installation kann man beides wieder zuschalten (Wert "1").


*Windows Gast Tools für paravirtualisierten Zugriff*

Auch für Windows Gäste gibt es spezielle Gasttools, mit deren Hilfe der Netzwerk und Festplattenzugriff beschleunigt wird. Bedingung: Der Gast muss mit ACPI installiert sein.

Links:
http://wiki.xensource.com/xenwiki/XenWindowsGplPv
http://wiki.xensource.com/xenwiki/Xe...lPv/Installing
http://www.meadowcourt.org/downloads/


*Zeit vom Host übernehmen*

Damit der Gast die gleiche Uhrzeit hat wie der Host, einfach folgenden Parameter in die Gast-Konfigurationsdatei einfügen:


```
localtime=1
```


*HVM Konsole*

Wie bei Qemu kann man per [Strg]-[Alt]-[2] im Gastfenster zur Konsole wechseln. Dazu muss aber folgender Parameter in die Gast-Konfigurationsdatei eingefügt werden:


```
monitor=1
```

Über [Strg]-[Alt]-[1] kann man wieder zum Gastfenster umschalten.

----------


## stefan.becker

*Mauszeiger Host/Gast nicht synchron (Linux-Gast)*

Hier muss auf den evdev-Maustreiber umgestellt werden:


```
Section "InputDevice"
  ...
  Driver "evdev"
  Option "Device" "/dev/input/event1"
...
EndSection
```

Prüfung, welches Event-Interface man nehmen muss (Kommandozeile im Gast, root):


```
cat /proc/bus/input/devices
```


*Grafikauflösung bei Nutzung des xenfb-Framebufferdevices*

Aktuell kann der Gast bei Nutzung des Framebufferdevices nur bis zu einer Auflösung von 800x600 eingestellt werden. Höhere Auflösungen sind erst ab Xen 3.2 möglich.

Hierzu muss in die Gast-Konfigurationsdatei folgende Zeile eingefügt werden (bzw. ergänzt, wenn "extra=" bereits vorhanden:


```
extra='xenfb.video=16,1024,900'
```

Im Beispiel steht "16" für 16 MB Videospeicher, 1024x900 ist die gewählte Auflösung. Es lassen sich hier beliebige Werte eintragen.


*Sound*

Sound wäre nur über ein Durchreichen der Soundkarte als PC-Device möglich. Man kann jedoch auch per Netzwerk über den esd-Soundserver auf die Soundkarte des Hosts zugreifen.

Im Host muss der Soundserver so gestartet werden (5001=TCP-Port für Soundweiterleitung):


```
esd -tcp -public -port 5001
```

Im Gast muss man vor der Anmeldung folgende Systemvariable setzen (bei Suse z. B. in "/etc/bash.bashrc"):


```
export ESPEAKER=a.b.c.d:5001
```

 (a.b.c.d=IP-Adresse des Xen-Hosts)

Programme, die mit dem esd-Soundserver zusammenarbeiten, können dann so Sound ausgeben.

----------


## stefan.becker

Xen ist sehr wählerisch, was das Zusammenspiel der Dom0 mit den DomUs anbelangt. Nicht jede beliebige Kombination Host / Gast bzw. Xen Host- / Xen Gastkernel lassen sich zum Laufen bewegen. Ebenso kann nicht jede CD/DVD zur Neuinstallation verwendet werden. Problematisch sind z. B. Live CDs.

Ein paravirtualisierter Xen Gast kann sowohl in einem raw-Image als auch auf einer echten Partition angelegt werden.


*7.1) Installation eines Suse Gastes auf Suse Host bei gleicher Distributionsversion*

Sofern man die gleiche Distribution in der gleichen Version als Gast installieren will, ist die Installation bei Suse geradezu ein Kinderspiel.

Hierzu folgende Vorgehensweise:
- Yast2 / Virtualisierung / Virtuelle Computer erstellen
- Option "Es muss ein Betriebssystem neu installiert werden" / Vor
- SUSE / openSUSE
- Platten: Plattengröße anpassen (falls inkl. X-Server, eher 10 GB wählen)
- Platten: CDROM hinzufügen als Image oder das physikalische Laufwerk
- "OK" startet dann die Installation

Zunächst wird das Image angelegt, einige Minuten später startet die Installation.

Getestet mit: Suse 10.3, Host 64 Bit, Gast 32 Bit, Xen 3.1x


*7.2) Vorhandene Images nutzen bzw. Vorbereitung der Installation als HVM-Gast*

Sobald Host / Gast bzw. Versionen voneinander abweichen, ist es in den meisten Fällen einfacher, zunächst eine lauffähige HVM-Version des Gastes (also vollvirtualisiert) zu erstellen.

Später kann man dann die Verzeichnisstruktur eines so angelegten Gastes für einen neu angelegten Gast übernehmen.

Grundlage kann also sein:
- Eine VMWARE-Appliance, also eine fertige VMWARE Maschine (Umwandlung in ein raw-Image per "qemu-img", siehe oben)
- Qemu Images (falls cow-Image, per "qemu-img" umwandeln, siehe oben)
- Ein Xen-HVM-Gast

Damit ein Gast überhaupt paravirtualisiert als DomU starten kann, sollte im Gast vorab noch folgendes installiert werden:
- xen-Kernel
- xen / xen-tools-domU

Sobald das Gastimage als Basis komplett ist, wird ein neues Image angelegt, um den Dateibaum aus dem Basisimage in den künftigen Xen Gast zu übertragen.

Die weitere Vorgehensweise als grober Ablauf:
- Anlegen eines leeren Gastimages (inkl. partitionieren, formatieren, bootbar machen)
- Verzeichnisbaum aus Basisimage umkopieren in neues Gastimage
- Anpassung einer Konfigurationsdateien im neuen Gast (z. B. "/etc/fstab")
- Anlegen eines swap-Images
- Erstellung der Xen-Konfiguration

Ausführliche Links hierzu:
- Xen Handbuch: http://www.cl.cam.ac.uk/research/srg.../readmes/user/ (Kapitel A.3.2 Using disk image files)
- http://www.linuxforen.de/forums/show...68&postcount=2


*7.3) Fertige Xen Images*

http://jailtime.org/
http://wiki.computerwoche.de/doku.ph...ual-appliances

----------

