Mit LinVDR 0.7 ist Anfang Dezember die erste Version der Mini-Videorekorder-Distribution seit neun Monaten erschienen. Die lange erwartete Release enthält eine aktuelle Entwickler-Version von VDR, die viele Neuheiten mitbringt.
Die Mini-Distribution LinVDR wurde als eine Art Firmware für einen Videorekorder entworfen. Zwar bildet noch immer ein Linux-System mit vorinstalliertem VDR von Klaus Schmidinger die Basis, die hohe Spezialisierung bedingt jedoch etliche Eigenheiten und sogar fehlende Systemteile. Wer LinVDR zu etwas anderem als zu Videorekorder-Betrieb einsetzen möchte, hat deshalb sehr viele Randbedingungen zu beachten.
Ursprünglich diente LinVDR den Autoren als Erleichterung beim Aufbau eines neuen VDRs. Vor der Entwicklung der Mini-Distribution installierten sie zunächst ein herkömmliches Linux-System, luden dann alle nötigen Quellen und Patches herunter und begannen schließlich mit dem Übersetzen – je nach Distribution ein mehr oder minder aufwändiges Unterfangen.
Installation von CD
Mit der Zeit wurde daraus eine Distribution für Einsteiger und Anwender, die noch nie mit Linux in Berührung kamen. Deswegen hatten eine breite Hardware-Unterstützung, einfache Installation und Handhabung sowie ein stabiles System oberste Priorität. Dementsprechend wird LinVDR auch nur als bootbares CD-Abbild ausgeliefert, das Sie von einem der Mirrors von [1] herunterladen, auf CD brennen und anschließend booten. Alternativ können Sie einfach die Heft-CD benutzen.
Dem Stabilitätsanspruch von LinVDR scheint auf den ersten Blick die eingesetzte VDR-Version zu widersprechen: Die neue Version 0.7 von Anfang Dezember enthält VDR Version 1.3.17 – eine Entwicklerversion von Ende November 2004, eigentlich nicht für den produktiven Einsatz gedacht. In der Praxis hat sich diese Version jedoch vielfach bewährt.
Nachdem Sie von der Installations- oder Heft-CD gestartet haben, erwartet Sie die Sprachauswahl. Zur Verfügung stehen in der Version 0.7 nur Englisch und Deutsch. Anschließend empfängt Sie das Installationsprogramm mit einer kurzen Übersicht, um was es sich bei LinVDR handelt und welche Ziele das Projekt verfolgt.
LinVDR als Einzelkind
Die Standardinstallation funktioniert nur dann, wenn Sie eine Festplatte als Master am primären IDE-Controller angeschlossen haben – kurzum, wenn es /dev/hda gibt. Dann entfernt das Installationsprogramm automatisch alle vorhandenen Partitionen, legt eine neue mit der Größe der gesamten Festplatte an und formatiert sie mit dem Dateisystem Ext3.
Alternativ dazu können Sie die manuelle Installation verwenden. Hier startet das Installationsprogramm einfach fdisk und überlässt Ihnen die Neupartitionierung Ihrer Festplatte. Wollen Sie nicht neu partitionieren, verlassen Sie fdisk statt dessen mit “q”. Anschließend erfragt das Installationsprogramm die Bezeichnung der Partition, auf der es LinVDR installieren soll, und bietet an, sie zu formatieren.
Installation ohne Datenverlust
Sie sollten das Formatieren nur dann ablehnen, wenn Sie auf der betreffenden Partition noch wichtige Daten oder Filme gespeichert und zuvor alle Teile eines früher installierten Linux-Systems von Hand entfernt haben. Das gilt auch für eine frühere Installation eines LinVDR-Systems. Der Kasten “Von Hand entrümpelt” erklärt, wie Ihr System aussehen muss, bevor Sie LinVDR ohne vorheriges Formatieren installieren können.
Von Hand entrümpelt
Das Installationsprogramm von LinVDR 0.7 ist nur dafür gedacht, das Mini-System auf einer leeren Festplatte zu installieren. Doch gerade wer eine ältere Version von LinVDR oder ein normales Linux-System mit VDR verwendet hat, besitzt noch Filme, die er bei der Neuinstallation nicht verlieren möchte.
Entpacken Sie LinVDR 0.7 keinesfalls einfach über ein bestehendes Linux-System. Aufgrund der mitunter beträchtlichen Unterschiede zwischen LinVDR und einem ausgewachsenen Linux würde dies zu einem fast undurchdringlichen Kuddelmuddel aus Dateien führen. Sie sollten deshalb alle Verzeichnisse mit Ausnahme von /video0 und /pub entfernen.
Allerdings ist es keine gute Idee, ein laufendes Linux-System zu löschen. Spätestens wenn Sie die zentrale Bibliothek libc ins Nirvana befördern, funktioniert kein Linux-Befehl mehr und das System lässt sich nicht ein mal mehr herunterfahren.
Im einfachsten Fall verwenden Sie deshalb die Installations-CD von LinVDR 0.7 – also die Heft-CD – um Ihre Festplatte aufzuräumen. Dazu booten Sie von CD und warten, bis die Sprachauswahl erscheint. Dann schalten Sie mit [Alt][F2] auf eine Login-Konsole um und melden sich als Benutzer root mit dem Passwort linvdr an. Das Installationssystem bietet zwar für die Aufräumaktion nicht sonderlich viel Komfort, reicht jedoch aus. Alternativ können Sie jede Rettungs-CD oder auch eine Knoppix-Disc verwenden – letztere bieten meist die reichhaltigere Ausgestattung.
Zuerst mounten Sie Ihre spätere LinVDR-Partition unter /mnt/linvdr. Dann löschen Sie alle Verzeichnisse mit Ausnahme von video0 und pub, da sich dort die Videos respektive MP3-Dateien und Bilder befinden. Diesen Bereich tastet das neue LinVDR bei der späteren Installation auch nicht an.
Besonders wichtig: Lassen Sie Ihren bisherigen Boot-Manager nicht im Verzeichnis boot/grub zurück. LinVDR 0.7 benutzt eine Version des Bootloaders Grub, die mit zwei besonderen Patches behandelt wurde. Daher könnten die Stage-Files nicht mehr passen und Grub Ihnen den Dienst verweigern.
Nach der Aufräumaktion müssen Sie die Partition in jedem Fall wieder unmounten. Anderenfalls wird das Installationsprogramm später mit einem Fehler abbrechen, weil das Einhängen fehlschlägt. Anschließend loggen Sie sich aus und wechseln mit [Alt][F1] zurück zur Sprachauswahl. Nun führen Sie eine manuelle Installation durch, bei der Sie weder die Partitionierung verändern noch die LinVDR-Partition formatieren lassen.
Allerdings bleiben alle Einstellungen des Dateisystems erhalten, wenn Sie nicht formatieren. Dazu zählt auch der übliche Dateisystem-Check beim Systemstart nach 25 bis 30 Mount-Vorgängen. LinVDR prüft beim Herunterfahren zwar, ob in den nächsten 24 Stunden eine Überprüfung ansteht und zieht diese gegebenenfalls vor. Es erkennt aber nicht, ob beim nächsten mount eine Überprüfung fällig wird. Dementsprechend sollten Sie, bevor Sie mit der Installation beginnen, mit folgendem Befehl die Dateisystem-Überprüfungen auf einen Durchlauf monatlich beschränken:
tune2fs tune2fs -c 0 -i 1m <I>Partition<I>
Im nächsten Schritt mountet das Installationsprogramm die LinVDR-Partition und entpackt das Tar-Archiv mit dem LinVDR-System von der CD. Es passt die Datei etc/fstab an, sofern die LinVDR-Partition nicht /dev/hda1 ist, und schaltet wenn nötig das OSD von VDR auf Englisch um.
Grub als Boot-Manager
Abschließend richtet das Installationsprogramm den Boot-Manager Grub ein. Im Fall der automatischen Installation landet Grub stets im Master-Boot-Record der ersten Festplatte. Bei der manuellen Installation können Sie auswählen, ob Sie Grub auf der ersten Festplatte, der Festplatte Ihrer LinVDR-Partition oder im Boot-Sektor der LinVDR-Partition installieren wollen.
Letzteres ist interessant, wenn Sie vor haben, LinVDR parallel zu einem anderen Betriebssystem zu betreiben. Dann benötigen Sie allerdings einen zweiten Boot-Manager, den Sie im Master-Boot-Record der ersten Festplatte installieren und der dann die LinVDR-Partition bootet. Damit bleiben Sie flexibel, wenn Sie irgend wann auf eine neuere LinVDR-Version umsteigen wollen: Sie müssen dann lediglich den Grub von LinVDR überschreiben, Ihren Boot-Manager im Master-Boot-Record können Sie aber in Ruhe lassen.
Update oder nicht?
Haben Sie bereits LinVDR 0.6 benutzt und befindet sich das System noch auf Ihrer Festplatte, erkennt das Installationsprogramm der Version 0.7 die alte Installation und bietet Ihnen ein Update an. Grundsätzlich können Sie nur dann aktualisieren, wenn Ihnen das Installationsprogramm dies anbietet – es gibt keine Möglichkeit, ein Update zu erzwingen.
Doch das Update ist mit Vorsicht zu genießen: Die Versionen 0.6 und 0.7 unterscheiden sich so gravierend voneinander, dass Sie nach der Aktualisierung in jedem Fall selbst noch Hand anlegen müssen, bis LinVDR 0.7 korrekt startet.
Nacharbeiten
Beim Update werden eine Reihe Dateien nicht überschrieben, damit Ihnen keine Einstellungen verloren gehen. Das wichtigste dieser Files ist /etc/fstab, das alle einzubindenden Laufwerke enthält. LinVDR 0.6 unterstützt noch kein sysfs, weshalb folgender Eintrag in /etc/fstab fehlt:
sysfs /sysfs sysfs defaults 0 0
Ohne sysfs kann der DVB-Treiber jedoch nicht die Firmware in die Karten laden, so dass beim ersten Start von LinVDR 0.7 folgende Meldung im Abstand von 60 Sekunden erscheint:
Something went wrong. VDR respawning to fast, sleeping one minute
Am besten melden Sie sich auf einer der Konsolen an und schalten VDR mit dem Befehl /etc/init.d/runvdr stop ab. Erst dann ergänzen Sie die /etc/fstab.
Da beim Update das Verzeichnis /etc/vdr mit allen Einstellungen ausgelassen wurde, fehlen Ihnen für verschiedene Plugins diverse Dateien. Diese packen Sie manuell aus, indem Sie die Installations-CD unter /mnt/dvd einbinden und die fehlenden Dateien mit folgendem Befehl ergänzen:
tar xzf /mnt/dvd/LinVDR/linvdr-0.7.tar.gz -C / etc/vdr/plugins
Weiterhin müssen Sie bedenken, dass bei LinVDR 0.7 etliche Plugins nicht mehr existieren, die bei der Version 0.6 zum Standardumfang gehören. Zudem wurde das Setup-Programm beim ersten Start der Version 0.7 nicht ausgeführt, weil Ihre alten Einstellungen übernommen wurden.
Plugins kontrollieren
Deshalb müssen Sie in jedem Fall das setup aufrufen und alle Einstellungen kontrollieren – allen voran die Plugins. Am besten deaktivieren Sie zunächst alle Plugins, bis VDR das erste Mal gestartet hat. So stellen Sie sicher, dass nicht noch ein anderes Problem vorliegt.
Haben Sie die Konfiguration abgeschlossen, starten Sie VDR mit /etc/init.d/runvdr start. Nach wenigen Sekunden sollte der Fernseher ein Bild anzeigen. Erhalten Sie statt dessen wiederum die oben genannte Fehlermeldung, müssen Sie mit logread erkunden, was VDR nicht behagt. Häufige Fehlerquellen stellen eine nicht passende Kanalliste sowie noch eingetragene Timer dar. Löschen Sie in dem Fall die Datei /etc/vdr/timers.conf und versuchen Sie es erneut. Kommt VDR mit Ihrer Kanalliste nicht klar, sollten Sie diese austauschen. Dazu mounten Sie die Installations-CD unter /mnt/dvd und führen folgendes Kommando aus:
tar xzf /mnt/dvd/LinVDR/linvdr-0.7.tar.gz -C / etc/vdr/channels
Danach starten Sie das Setup erneut und wählen eine der neuen Kanallisten.
Änderungen bei Premiere
Ein bekanntes Problem ist, dass die Premiere-Kanäle nach dem Update nicht mehr funktionieren. Dies liegt daran, dass sich die Bedeutung des CA-Parameters geändert hat: Bis VDR 1.2.6 stand der Wert 101 für alle Premiere-Kanäle. Mit VDR 1.3.17 von LinVDR 0.7 erkennt VDR selbst, welche Möglichkeiten die Premiere-Smartcard bietet und für welchen Kanal welche “capabilities” erforderlich sind. Das hat den Vorteil, dass VDR nur noch Kanäle aufnimmt, die Sie auch wirklich empfangen können, anstatt bei falsch programmierten Timern ständig neu zu starten.
Sie müssen im Setup die Kanalliste DVB-s_Astra_cooper.conf auswählen (Abbildung 1), damit Sie wieder Zugriff auf die Premiere-Kanäle erhalten. Alternativ können Sie alle Premiere-Kanäle aus Ihrer momentanen Kanalliste löschen und VDR neue Kanäle scannen lassen. Wie das funktioniert, schildert ausführlich der Abschnitt “Automatische Kanalsuche”.

Abbildung 1: In VDR 1.3.17 hat sich die Bedeutung des CA-Felds der Kanalliste verändert, die bei verschlüsselten Kanälen wie Premiere wichtig ist. Die Cooper-Kanalliste ist bereits entsprechend vorbereitet.
DVDs brennen
LinVDR 0.7 bringt bereits 40 verschiedene Plugins für die unterschiedlichsten Aufgaben mit. Das wohl am sehnlichsten erwartete davon ist das DVD-Burn-Plugin von Sascha Volkenandt: Es konvertiert überaus komfortabel Aufnahmen, stellt diese zu einer Video- oder Archiv-CD zusammen und brennt sie auf DVD.
Die Bedienung ist einfach: In der Liste der Aufzeichnungen gehen Sie mit dem Cursor auf die gewünschte Aufnahme, drücken die rote Taste und wählen den Menüpunkt ins DVD Burn Plugin. Falls Sie LinVDR 0.7 nicht neu installiert, sondern nur aktualisiert haben, fehlt ihnen dieser Menüpunkt. In dem Fall fügen Sie folgende Zeile an den Anfang der Datei /etc/vdr/reccmds.conf:
ins DVD Burn Plugin: /usr/bin/burnmark.sh
Haben Sie alle Filme, die Sie auf der DVD zusammenstellen wollen, ausgewählt, rufen Sie im Hauptmenü den Punkt DVDs brennen auf. Das Burn-Plugin zeigt Ihnen die Namen der Aufnahmen (Abbildung 2) und Sie können die Liste umsortieren oder die Filme umbenennen. Der Titel des Films ist wichtig, weil er später im DVD-Menü angezeigt wird. Zusätzlich können Sie der DVD einen Namen geben.

Abbildung 2: Mit dem DVD-Burn-Plugins stellen Sie mehrere Aufnahmen komfortabel per Fernbedienung zu einer Video-DVD mit DVD-Menü zusammen. Selbst das Brennen der DVD übernimmt das Plugin.
Das Burn-Plugin bietet Ihnen drei Arbeitsmodi an, die Sie unter Art der DVD auswählen können. Bei Archiv-Disk brennt der Plugin die ausgewählten Aufnahmen als unveränderte VDR-Dateien auf die DVD, so dass sich die Filme später nur mit VDR wieder abspielen lassen. Dieser Modus arbeitet am schnellsten. Hinter DVD mit Menüs verbergen sich gleich zwei Modi, je nach dem, wie voll Sie die DVD gepackt haben.
Bei nicht komplett gefüllten DVDs – zur Verfügung stehen 4462 MB pro Scheibe – wandelt das Burn-Plugin die Video-Daten und stellt sie zu einer Video-DVD mit Menüs zusammen. Ist die DVD übervoll, benutzt das Plugin zusätzlich das Programm Requant, um die Videos so weit in der Qualität zu reduzieren, bis sie auf die DVD passen. Müssen Sie nur wenige Megabyte einsparen, macht sich der Qualitätsunterschied in aller Regel nicht störend bemerkbar. Mehr als 5 GB pro DVD sollten Sie aber nicht brennen lassen, sonst sind die Qualitätseinbußen deutlich zu spüren.
Neues Outfit
Viele Anwender monierten an VDR 1.2.6 die sehr hausbackene, textbasierte Oberfläche. VDR 1.3 unterstützt deshalb Skins. Für die meisten Skins, die auf [2] angeboten werden, benötigen Sie das unscheinbare Plugin text2skin. Mit Hilfe von Text2Skin, das ebenfalls aus der Feder von Sascha Volkenandt stammt, können Sie in einer sehr einfachen Beschreibungssprache selbst komplexe Menüs herstellen. Eine Beschreibung dazu finden Sie unter [3].
Neben den fest in VDR eingebauten Skins bringt LinVDR 0.7 zusätzlich EgalsTry mit, das den Autoren noch am besten gefiel. Wenn Sie das Text2Skin-Plugin ausgewählt haben, schalten Sie unter Einstellungen in der Rubrik OSD den Punkt Oberfläche auf EgalsTry. Rufen Sie das Menü das nächste Mal auf, begrüßt sie das neue Design aus Abbildung 3.

EgalsTry gefiel den Autoren noch am besten. Mit Hilfe des Text2Skin-Plugins sind aber auch eigene Skins kein Problem.” width=”300″ height=”225″ />
Abbildung 3: Die VDR-Version 1.3.17 aus LinVDR 0.7 unterstützt bereits Skins,EgalsTry gefiel den Autoren noch am besten. Mit Hilfe des Text2Skin-Plugins sind aber auch eigene Skins kein Problem.
Abbildung 4: Das neue Skin ist lediglich für die veränderten Farben und Umrandungen zuständig. Mit dem Stern markiert VDR 1.3.17 die laufende Sendung; ein “t” steht für eine Sendung, von der ein Teil aufgezeichnet werden soll; ein “T” für eine komplett aufzuzeichnende Sendung.

Abbildung 5: Auch der Statusbalken bei der Wiedergabe lässt sich per Skin völlig umgestalten. Das Skin besteht aus wenigen Grafiken, die im Hintergrund liegen und von Funktionen wie etwa dem Wiedergabebalken überlagert werden.
Weitere Skins
Sollten Sie andere Skins von [2] nachinstallieren, müssen Sie verschiedenes berücksichtigen. Zum einen eignen sich manche Skins nur für DVB-Karten, die auf 4 MByte RAM umgebaut wurden. Selbst wenn Sie eine solche Karte besitzen, hilft Ihnen das wenig weiter, weil LinVDR 0.7 lediglich die Firmware für 2-MByte-Karten mitbringt. 4-MByte-Karten können Sie also derzeit nicht ausnutzen.
Weiterhin wurde LinVDR in vielen Teilen abgespeckt. Bei Skins betrifft dies insbesondere die Loader der Grafikbibliothek Imlib2. Standardmäßig ist lediglich der Loader für PNG-Grafiken enthalten. Einige Skins verwenden jedoch JPEG-Grafiken, so dass Sie den JPEG-Loader nachinstallieren müssen. Dazu verwenden Sie einfach das Addon-Deb-Paket für das Graph-TFT-Paket, wie nachfolgend beschrieben.
Im schlimmsten Fall startet VDR mit dem gewählten Skin nicht mehr. In diesem Fall schauen Sie einfach per logread im Syslog nach, wo genau das Problem liegt.
Fehlerhaftes Graph-TFT-Plugin
Die Version 0.7 von LinVDR ist nach wie vor nicht perfekt. Das zeigen diverse Fehler in Plugins oder dem System selbst. So stürzt VDR reproduzierbar ab, wenn Sie das Graph-TFT-Plugin aktivieren. Mit Hilfe dieses Plugins können Sie zum Beispiel auf einem Playstation-One-Display oder einem angeschlossenen Monitor das VDR-Menü sowie einige Statusinformationen anzeigen lassen.
Bei der Übernahme des Plugins in LinVDR 0.7 haben die Autoren jedoch einige Dateien vergessen, ohne die das Graph-TFT-Plugin nicht läuft. Zudem fehlte der JPEG-Loader. All dies finden Sie im Addon-Paket linvdr-graphtft-addon.deb auf der Heft-CD oder von [4]. Zur Installation rufen Sie, nachdem Sie die CD eingebunden oder das Paket aus dem Internet heruntergeladen haben, einfach folgenden Befehl auf:
debtool -f linvdr-graphtft-addon.deb
Bei debtool handelt es sich um ein Skript, dass sowohl Deb- als auch Debian-Pakete installiert. Als Deb-Pakete bezeichnen die Autoren die Zusatzpakete für LinVDR. Sie unterscheiden sich äußerlich nicht von Debian-Paketen, weisen auch einen identischen Aufbau auf, enthalten jedoch keine Informationen über Abhängigkeiten.
Auf der anderen Seite ignoriert debtool jegliche Abhängigkeiten, die normale Debian-Pakete enthalten. So lassen sich einzelne Programme nachinstallieren, ohne die Distribution unnötig aufzublähen. Das hat aber den Nachteil, dass Sie sich als Benutzer selbst darum kümmern müssen, welche Pakete genau nachzuinstallieren sind, wenn sie zum Beispiel den Midnight Commander benötigen.
Auf der Heft-CD finden Sie unter LinuxUser/linvdr zusätzlich ein Paket premiere-logos.deb, das für Premiere-Benutzer interessant ist: Die Premiere-Logos sind im Skin EgalsTry nicht enthalten. Mit debtool -f premiere-logos.deb installieren Sie die Logos. Ein Neustart von VDR ist nicht nötig, es findet die neuen Logos automatisch.
Automatische Kanalsuche
Eine der großen Neuerungen von VDR 1.3.17 stellt die automatische Kanalsuche dar. Sie ist allerdings in LinVDR 0.7 standardmäßig abgeschaltet, da sonst binnen Minuten hunderte neue Kanäle auftauchen würden. Je mehr Kanäle es jedoch gibt, desto mehr EPG-Daten speichert VDR auch, und um so länger benötigt das Web-Frontend VDR-Admin für den Autotimer und das Einlesen der Kanal- und EPG-Daten.
Die mitgelieferten Kanallisten enthalten bereits die meisten deutschsprachigen Fernsehsender. Alle nicht benutzten sollten Sie entfernen – etwa Premiere, wenn Sie nicht über ein Abo verfügen. Um die automatische Kanalsuche zu aktivieren, gehen Sie ins Menü Einstellungen und stellen dort in der Rubrik DVB die Option Kanäle aktualisieren auf neue Kanäle hinzufügen oder neue Transponder hinzufügen. Die letztere Einstellung findet auch neu aktivierte Transponder des Satelliten, die erste sucht nur die bekannten Transponder nach noch nicht verzeichneten Kanälen ab. Immer wenn VDR einen neuen Kanal findet, fügt es ihn am Ende der Kanalliste an.
Benötigen Sie die Kanalsuche nicht mehr, schalten Sie die Option wieder auf Namen und PIDs zurück. Dann überwacht VDR nur noch die vorhandenen Kanäle und korrigiert nötigenfalls deren Einstellungen. Das bedeutet jedoch auch, dass VDR den Kanalnamen so speichert, wie er vom Satelliten übermittelt wird. Wollen Sie die Kanalnamen nach eigenem Gutdünken ändern, müssen Sie die Aktualisierung komplett ausschalten.
Ausblick
Die Entwicklung von VDR und LinVDR schreitet weiter voran – nicht zuletzt dank der polnischen Abgeordneten, die Mitte Dezember den EU-Ratsvorstoß zur schnellen Absegnung von Software-Patenten abblockten.
Ob die nächste Version, LinVDR 0.8, immer noch mit einer Entwickler-Release von VDR oder der stabilen Version 1.4 arbeiten wird, hängt nicht zuletzt davon ab, wann VDR-Erfinder Klaus Schmidinger die Software für ausreichend stabil hält. Die Autoren haben sich jedoch vorgenommen, bis zur nächsten Version nicht wieder neun Monate zu warten.
Infos
[1] LinVDR 0.7: http://linvdr.org/projects/linvdr
[2] Skins für VDR: http://vdrskins.org
[3] Mirko Dölle, “Aufgebohrt”: LinuxUser 08/2004, Seite 33
[4] Zusatzpakete für LinVDR 0.7: http://linvdr.org/download/linvdr/beta/0.7/


