XEN Installations-Script Debian/*Ubuntu inkl VGA-Passtrough

B

Bunkasan

Guest
Da inzwischen doch einige Leute mein Script runtergeladen haben, und doch immer wieder updates kommen, mach ich jetzt mal ein eigenes Thema auf, damit man sich nicht die neueste Version im "Xen und 3D" thread raussuchen muss.

Großes Update:
Das Komplette Script wurde überarbeitet, viele Sicherheitsemente eingefügt, Code optimiert und übersichtlicher gestaltet, Updatefunktion stark erweitert und optimiert und alle großen Bugs beseitigt, besonders die beim Erststart. Desweiteren wurde die Bridgekonfiguration überarbeitet, es ist nun möglich den Bridgenamen selbst festzulegen. Es gibt nun auch die Möglichkeit, eigene Kernelpatches mit einzubinden.

Features:

XEN Hypervisor:

  • Download, Kompilieren und Installieren des Xen Hypervisors der Versionen 3.4 / 4.0 / 4.1

  • Automatisches einbinden des VT-d Patches für zB ASUS Boards um VT-d trotz fehlerhaftem BIOS zu aktivieren.

  • Automatisches einbinden der Patches für Primary/Secondary VGA-Passtrough, sowie des dafür notwendigen VGA-BIOS files.
XEN Dom0 Kernel:

  • Download, Kompilieren und Installieren der Dom0 Kernels

  1. Jeremy's Xenified PVOPS 2.6.31 / 2.6.32
  2. openSuse PVUSB 2.6.34 / 2.6.35 / 2.6.36
  3. Novell SLES PVUSB 2.6.32

  • Automatische Updatesuche für die Suse und SLES Kernels.

  • Möglichkeit den Kernel noch per menuconfig / xconfig anzupassen

  • Möglichkeit, die Xen-Parameter automatisch in der config anpassen zu lassen (Dazu muss xconfig oder menuconfig gewählt werden, vorerst nur optimiert auf Suse 2.6.36)

  • Automatische Erstellung und Installation der Kernel-headers bei Bedarf
Virtual Machine Manager:

  • Download, Kompilieren und Installieren des Virtual Machine Managers

  • Automatische Updatesuche und Installation

  • Automatische Konfiguration der XEN Einstellungen für den Betrieb
Systemkonfiguration:

  • Automatische Erstellung der Netzwerkbridge für XEN

  • Automatische Erstellung der GRUB-Config je nach XEN sowie Kernel Version

  • Möglichkeit der Anpassung der Consolenauflösung, als auch im Grub-menu

  • Bequemes Konfigurieren der durchzureichenden Hardware, inkl. Auswahl ob bei Systemstart oder erst bei VM-Start



Eins möchte ich klarstellen:

Dies ist ein kleines privates Projekt, das aus Faulheit heraus entstanden ist, um bequem zwischen XEN- und Kernelversionen zu wechseln, und nicht immer alles von Hand editieren zu müssen. Ich übernehme nicht die geringste Verantwortung, sollte durch die Verwendung ein System instabil oder unbrauchbar werden. Das Script ist immer noch keine Finale version und es können immer wieder Fehler auftreten.

Wen das nicht abgeschreckt hat, hier die Handhabunsanleitung:

Das script benötigt logischerweise root Rechte, am einfachsten ist es, es direkt im Root-account zu nutzen. Um euch als Root im GDM / whatever einloggen zu können müsst ihr

Ubuntu: im Terminal
Code:
sudo passwd root
ausführen, und ihr könnt euch dann als root einloggen. Alternativ noch die datei "/etc/init/gdm.conf" in "/etc/init/gmd.off" umbenennen um den Autostart des Xservers zu unterbinden, nach Systemstart als root anmelden und dann den Xserver starten

Debian: root Passwort sollte bei installation schon angegeben worden sein, daher nur
Code:
update-rc.d -f gdm remove
und analog beim Systemstart als root einloggen und den Xserver starten.

Das ZIP-File im "/root" Ordner entpacken, Rest wird von Script automatisch entpackt.

es gibt 2 möglichkeiten das Script zu starten, eine umständliche, und eine bequeme.

Einfach per
Code:
sh xeninstall
oder
Code:
./xeninstall
oder ihr linkt es nach "/usr/bin/" mit
Code:
ln -s /root/xeninstall /usr/bin/xeninstall
chmod 775 /usr/bin/xeninstall
und könnt es von da an von jedem Ordner aus nur mit Aufruf des Namens starten.

es gibt noch ein paar Startparameter um einzelne Komponenten neu zu konfigurieren oder zu installieren.


  • -n (Netzwerkkonfiguration)
  • -g (Grubkonfiguration)
  • -v (Virtualmachinemanager Neuinstallation)
  • -x (XEN Neuinstallation)
  • -k (Kernel Neunistallation)
  • -i (alles neu installieren ohne zu rekompilieren)
  • -u (Suche und installation von Updates)
  • -r (Löschen und erneuter Download bei Xen / Kernel Neuinstallation)
  • -j (Threadanzahl für make angeben, Standard ist nun 1x)
Bitte zuerst den jeweiligen Installationsmodus angeben und dann -r oder -j*



Des weiteren sind im Archiv noch ein configfile für Windows7 und ein kleines Startscript enthalten.

Für Fragen, Bugreports und konstruktive Kritik bin ich gerne offen.

Viel Spass damit! :D


PS: Solltet ihr beim aktuellen Suse 2.6.36-rc7 Probleme beim backen haben, bitte den 2.6.36-rc7.patch mit einbinden lassen.
 
Zuletzt bearbeitet:
man man man, wer soll denn das hier finden.. ^^ wär ich da nicht grad zufällig drüber gestolpert, hätt ich das glaub ich nie gefunden.. ^^

aber egal, wie immer: vielen dank für deine mühen!

Ach ja: diskusionen über das script und das thema selbst weiter im Xen und 3D threat, oder hier?
 
Ach, stell meine Faulheitsutensilien doch gern auch anderen zur Verfügung... :D

Würd sagen, Script-Topic hier, den XEN-Topic lassen wir bei dir... ;)
 
okay, klingt gut..

mir is bei deinem script übrigens was aufgefallen: ein mutlithread make würde ich für die installs nicht machen.. das soll wohl manchmal probleme verurachen..

also make -j128 irgendwas ja, aber danach make install..
 
Das mit dem make ist ausgebessert. Hat zwar bisher keine Probleme verursacht, aber hast natürlich recht. Der secvga sollte auch nie auf ne unstable ausgeführt werden und wird es schon ne Weile im script nicht mehr, da, wie ich schon in deinem thread erwähnte, grundlegende dinge in der unstable bezüglich des kompletten pci-passtrough verändert wurden. ;)

EDIT: Wir reden hier schon von 4.0.1 stable / 4.0.2 testing / 4.1 unstable oder?

EDIT2: Und wie ich gerade festellen durfte auch garnicht mehr benötigt wird. :D
 
Zuletzt bearbeitet:
die anderen patches sollten wohl auch nicht mehr auf die unstable angewendet werden..

hab jetzt n frisches system mit openSus 2.6.36 und xen-unstable, aber er will mein xend nicht starten.. :( 'Error 2 could not find file or directory'

naja, ich mach jetzt mal n rebuild ohne patches.. vllt wars auch ne blöde idee die config für meinen 2.6.34er kernel für den neuen 2.6.36er zu nehmen.. ^^
 
Hab das ganze gerade korrigiert. Nur der VT-d Patch is noch notwendig und funktional. Wird im nächsten release korrigiert sein. Beim Suse .36 will mir der xend zwar starten, bringt aber die selbe meldung. Noch keine Ahnung wieso.:huh: Schau mal ob der dienst läuft und nur die Meldung kommt.
 
hmm.. abstrus.. xend is irgendwie komplett aus meinen startups verschwunden.. ich hab jetzt noch mal
/etc/init.d/xencommons start
/etc/init.d/xend start
gemacht und nun läufts..

kannst du mal "ls -l /etc/rc?.d/*xen*" machen.. ich hätte gern mal die default runlevel configuration.. und fehlt da nicht auch noch ein xenstored?
 
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc0.d/K13xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc0.d/K20xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc0.d/K20xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc0.d/K21xend -> ../init.d/xend
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc1.d/K13xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc1.d/K20xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc1.d/K20xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc1.d/K21xend -> ../init.d/xend
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc2.d/S11xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc2.d/S12xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc2.d/S20xend -> ../init.d/xend
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc2.d/S21xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc3.d/S11xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc3.d/S12xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc3.d/S20xend -> ../init.d/xend
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc3.d/S21xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc4.d/S11xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc4.d/S12xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc4.d/S20xend -> ../init.d/xend
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc4.d/S21xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc5.d/S11xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc5.d/S12xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc5.d/S20xend -> ../init.d/xend
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc5.d/S21xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 22 2010-09-29 18:47 /etc/rc6.d/K13xen-watchdog -> ../init.d/xen-watchdog
lrwxrwxrwx 1 root root 20 2010-09-29 18:47 /etc/rc6.d/K20xencommons -> ../init.d/xencommons
lrwxrwxrwx 1 root root 20 2010-09-04 22:15 /etc/rc6.d/K20xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 14 2010-09-04 22:15 /etc/rc6.d/K21xend -> ../init.d/xend

die bekommst du mit

update-rc.d xend defaults 20 11
update-rc.d xendomains defaults 11 20
update-rc.d xencommons defaults 11 20
update-rc.d xen-watchdog defaults 12 13

kannst du jetzt mit dem .36er auf den xend zugreifen?
 
das geht nicht.. ich krieg immer ein

Server:/dev/xen# update-rc.d xend defaults 20 11
update-rc.d: using dependency based boot sequencing
update-rc.d: warning: xend start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (3 4 5)
update-rc.d: warning: xend stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (0 1 2 6)


irgendwie is mein startscript komplett vermatscht..
 
Bin gerade noch im Ubuntu unterwegs, sobald der kernel fertig gebacken hat, schau ich mal in meinem Debian nach.

EDIT: Bringt bei mir die selben Warnungen, legt die Verknüpfungen aber brav an. Starten tut er aber weder xend noch xenstore unterm .36
 
Zuletzt bearbeitet:
Also, die Verknüpfungen sind identisch, weder xend noch xenstore werden gestartet, xend lässt sich nachträglich starten, xenstored NICHT. Scheint generell ein problem beim .36er zu sein.
 
hmm... das ganze liegt wohl an dem dependancy based booting..

diese values hat er zumindest angenommen:

xencommons start 11 3 4 5 . stop 20 1
xendomains start 11 3 4 5 . stop 20 0 1 2 6
xend start 20 3 4 5 . stop 11 0 1 2 6
xen-watchdog start 12 3 4 5 . stop 13 0 1 2 6

allerdings funktioniert das trotzdem noch nicht.. ich muss immernoch xmcommons und xend manuel starten..

€: ne, xenstored wird von xencommons gestartet und gestoppt.. deshalb gibts das nicht extra..
 
Unter 4.0 ist xenstored noch bei den xendomains dabei, 4.1 installier ich gerade. Lässt sich aber auch über domains nicht starten. Keine Fehlermeldung, aber auch kein prozess.
 
so, finaly solved..

ich glaub hier liegt ein generelles problem zwischen debian und dem opensuse kernel vor, weil in beiden die runlevel unterschiedlich benutzt werden..

ich hab jetzt mal hardcoded runlevel für alles eingetragen (ich hab deine da oben genommen) und nun funktionierts prima!

allerdings hab ich jetzt etwas bedenken, ob das nicht vielleicht später, bei anderen anwendungen, probleme geben könnte.. jetzt werden wohl alle scripte die irgendwas in die runlevel schreiben wollen gegen den baum laufen.. :(
 
Großes Update

Mit Stolz darf ich verkünden, dass das Script die Alphaphase verlassen hat, und nicht nur nochmals komplett überarbeitet wurde, sondern nun auch alles ohne Fehler funktionieren sollte. Es hat sich nicht nur einiges bei den Startparametern geändert, näheres findet ihr wie das Script selbst im ersten Post.
 
gibts das script auch als non-currupted file? ^^

ansonsten super! ich bin mal gespannt.. hast dus schon hingekriegt, das das 4.1-unstable schon das graka bios akzeptiert und nicht das bochus-bios läd?
 
Zurück