Hallo,
ich habs auch geschafft. Die Anleitung von VirtuaDZ war brilliant...
EDIT: Ich habs etwas ausführlicher beschrieben und kann es dann auch (wenn es denn funktioniert, also Rückmeldung bitte!) im Wiki ergänzen. An ein paar Stellen hab ich sicherlich unabsichtlich einige Umleitungen genommen, die nicht nötig sind - manchmal hab ich einfachnicht rausgefunden, wie's direkt gehen könnte. Also bitte auch verbessern!
Mein Server benutzt also als Dom0 den c't-Server2 - gibts leider noch nicht als Download. Ich habe wie vorgeschlagen auf ein LVM installiert - also nix mit Images, da weicht diese Beschreibung etwas ab. c't-Xen hat auch etwas andere Namen für die virtuellen Bridges als das bei XenSource vorgesehen ist - also in den Code-Blöcken nicht wundern.
Also, Xen-Dom0 läuft, hat Internet und keine Probleme. Jetzt braucht es ein Image oder eine 1:1 Kopie des Dateisystems von linvdr. Mangels besseren Wissens habe ich das ziemlich umständlich gemacht und erstmal die Mahlzeit-Iso (4Beta2) unter Xen in eriner HVM-DomU installiert - ich wollte keine zweite Platte in meinen normalen VDR-Client hängen. Erstes Problem: in der Startdatei muss die zu verwendende LVM-Partition als "hda" und nicht als "hda1" angegeben werden, sonst wird keine Platte vom Setup erkannt. Dummerweise lässt sich eine HVM-bespielte Partition (zumindest im LVM) nicht einfach mounten - das HVM-Betriebssystem glaubt ja, es sein eine richtige, ganze reale Festplatte und stellt weiß der Geier was damit an - mounten geht nicht mehr so einfach (schreibt c't in Ausgabe 17, ich hab das einfach geglaubt). Also hab ich mit dd ein DiskImage (image.img) auf eine zweite LVM-Partition gemacht (muss natürlich vorher, aber erst nach der Installation in der Startdatei mit angegeben werden!). Dann die HVM-LinVDR-Instanz beenden, das LV kann gelöscht werden. Die Partition mit dem Image drauf mounten, das Image auch mounten (weiß nicht, wie man das Image direkt reinkopieren kann) und dann den Inhalt kopieren. Hier war MC ein sehr hilfreicher Genosse...
[An dieser Stelle die Frage, ob man nicht vielleicht einfach aus der Installations-CD die Dateistruktur extrahieren kann - da ist doch eigentlich auch nur eine einzige Archivdatei, in der alles drin ist - oder? Aber ich kenn mich mit den ganzen Befehlen für die Packprogramme nicht aus...]
Diesen Verzeichnisbaum dann also auf ein neu eingerichtetes LV kopieren - Mahlzeit verwendet in der 4.0 Beta zwei Partitionen: eine für / und eine für /Data mit video, pub, video0. Ich hoffe, dass 3 GB für / groß genug sind - ansonsten läst sich das ja bei einem LVM schnell ändern... lvcreate -L 3G -n lvname vgname
Das LV für die Data-Partition kann später erstellt werden. Erstmal weiter mit dem Einrichten.
Dann: den Kernel, die Config und system.map aus Dom0's /boot ins Linvdr-Boot kopieren und die Symlinks im linvdr-boot anpassen. Angepasste symlinks ersparen das Verändern von grub. [Hier ist allerdings vielleicht Mahlzeit nochmal gefragt, ob es nicht besser wäre, doch lieber grub anzupassen, damit zukünftige Updates mit dem linvdrupdater an dieser Stelle ins Leere laufen. Aber erstmal geht es so.] Dann /lib/modules aus der Dom0 nach linvdr's /lib/modules kopieren.
Dann: die fstab im linvdr-/etc anpassen. Ich habe dort für den ersten Test die /data -Partition auskommentiert und weil ich es nicht brauche am Server die DVD-Einträge. Dann startet zwar VDR nicht, aber es reicht mir erstmal, wenn überhaupt die DomU mit linvdr startet.
chroot und depmod wie oben beschrieben (fuser kenn mein Debian nicht - hab ichs halt weggelassen... hat wohl nicht geschadet).
Dann das Linvdr-Dateisystem unmounten. Eine Startdatei für linvdr anlegen - dort ist als Kernel der neu reinkopierte Xen-Kernel anzugeben! Und natürlich das LV mit der Rootpartition als hda1 angeben.
kernel='/boot/vmlinuz-2.6.18-4-xen-686'
ramdisk='/boot/initrd.img-2.6.18-4-xen-686'
memory='256'
name='linvdr_xen'
root='/dev/hda1 ro'
disk = [ 'phy:/dev/XenServer/linvdr_root,hda1,w' ]
vif = [ 'bridge=intern' ]
xm create linvdr_xen (oder wie die Datei halt heißt) - und dann rödelt er los. mit xm console linvdr_xen kannst du direkt von deiner Xen-Dom0-Konsole umschalten auf die Linvdr - und siehst ihn dort noch booten, wenn du schnell genug bist. Ich bin begeistert, dass sogar der grüne Fortschrittsbalken angezeigt wird...
Nach login wird logread jetzt mosern, dass der vdr kein video-Verzeichnis gefunden hat, aber das war ja klar. Wenn sonst alles läuft, dann nochmal kurz mit ifconfig eth0 die MAC-Adresse merken (kommt in der Startdatei bei "vif= [ 'mac=00:00:00:...,bridge=intern'] mit rein, weil Xen wohl bei jedem Start neue MACs verwendet und ein Linux sonst gerne meint, es gäbe eine neue Netzwerkkarte - muss ja nicht sein. [Da ist udev für verantwortlich, läuft das bei linvdr?]
Dann gleich noch in der fstab das Data-Verzeichnis wieder aktivieren und dann die virtuelle Kiste runterfahren. Entweder per "poweroff" oder einfach in der Dom0 mit xm shutdown linvdr_xen oder (weiß nicht, ob brutaler - klingt so) xm destroy linvdr_xen.
Jetzt das Video-LV anlegen, mit mkfs auf ext3 formatieren und dann zusammen mit der MAC-Adresse in die Startdatei eintragen.
Fertig. Jetzt sollte VDR auch starten (zumindest wenn per Setup das dummydevice ausgewählt worden ist!) und damit ist erstmal gut.
Mangels DVB-Karten im Rechner kann ich noch nicht sagen, ob das jetzt 100%ig funktioniert - aber immerhin startet der VDR schon mal mit dem Dummydevice unter Xen. Was kann da noch schieflaufen?
Jetzt fehlt "nur" noch das Durchschleifen der DVB-Karten in die DomU - da erklärt dieser Wikibeitrag genauer, wie das gemacht wird.
Alle Klarheiten beseitigt? Läuft es jetzt bei dir? Wenn ja, was hattest du vergessen/falsch gemacht?
Grüssle,
Elian