Thin-EisVDR

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Allgemein

thin-EisVDR ist eine auf Fli4l und Eisfair basierende VDR-Distribution. Ursprünglich als Idee für einen Netboot-Diskless-Client entstanden, kann das System nicht nur über das Netzwerk mit PXE oder Netboot, sondern auch von CD/DVD, Festplatte, SD-Karte oder einem USB-Stick gestartet werden. Durch die Verwendung des Konfigurationssystems von Fli4L liegt das System nicht in fertiger Form auf CD vor, sondern wird nach der Konfiguration "zusammengestrickt". Dabei werden nur wirklich benötogte Dateien auf das fertige Bootmedium kopiert, sodass die Grösse des Systems minimal gehalten wird.

Konfiguration Grösse (ca.)
Basissystem 3.3MB
VDR + DVB 8MB - 12M
VDR + DVB + Basis Plugins 9MB - 15MB
VDR (Stream + DXR3) 11MB
VDR + Multimedia 30+MB
ALLES 45+MB

Die Konfiguration kann auf einem beliebigen Computer unter Windows oder Linux erstellt werden, wobei keine Linux-Kenntnisse vorausgesagt werden, da nur Textdateien bearbeitet werden müssen, die die Konfigurations-Variablen enthalten.


Sonstiges

Kernel: 2.4.31 (2.6.14 in Vorbereitung)
VDR-Version: 1.3.37 Bigpatch-test4
Developer-Tools: Eisfair mit Dev-Paketen

Vor- und Nachteile

+ Diskless-Streaming-Client Betrieb möglich
+ Keine Linux-Kenntnisse erforderlich
+ Einheitliche Konfiguration über Konfigurationsdateien (mit jedem Texteditor)
+ Braucht keine Festplatte oder DVB-Karte (alles optional)
+ Sehr schnell da vollständig im Speicher (Ramdisk)
+ Sehr kurze Bootzeiten (auch von CD, da nur die Rootfs gelesen wird)
+ Geringer Festplatten-/Speicherverbrauch
+ Stabiler Betrieb jetzt auch mit dxr3 und Streamdev-plugin
+ Aktuelle VDR Version 1.3.37
+ ACPI-/NVRAM-Wakeup Unterstützung

- Weniger Verbreitung, daher weniger Support über http://www.vdrportal.de (Aber die Entwickler geben sich wirklich Mühe)
- Ein paar Plugins fehlen noch, aber es werden ständig mehr.
- Viele neue DVB-Karten werden wegen des alten Kernels nicht unterstützt, am 2.6er Kernel wird jedoch gearbeitet
- Konvertierung und Brennen der Aufnahmen (noch) nicht möglich, da kein Perl zur Verfügung steht (es wird an einer Remote Lösung gearbeitet)
- Bei einer umfangreichen Konfiguration wird etwas mehr Speicher benötigt, da die Ramdisk dementsprechend grösser wird (256-512 MB sollten im Normalfall reichen, für DivX natürlich mehr)
- Noch keine eigene Dokumentation, man kann sich jedoch an Fli4L richten

Installation

Konfigurationsordner

Als Erstes muss man das Basispaket herunterladen und entpacken.

cd /tmp
wget http://vdr-eisfair.flnet.org/sevo/thin-eisvdr/1.0.4/thin-eisvdr-1.0.4.tar.bz2
tar -xjf thin-eisvdr-1.0.4.tar.bz2

Danach kommen die Pakete. Diese müssen in das im Archiv enthaltene Unterverzeichnis entpackt werden.
Hier ein Beispiel für OPT_VDR:

cd thin-eisvdr-1.0.4
wget http://vdr-eisfair.flnet.org/sevo/thin-eisvdr/1.0.4/opt_vdr.tar.bz2
tar -xjf opt_vdr.tar.bz2

Das Gleiche macht man mit allen benötigten Paketen sowie Patches (falls veröffentlicht).

Eine Übersicht der verfügbaren VDR-Plugins findet man in der Plugin Tabelle

Natürlich kann man die Pakete auch unter Windows mit einem geeigneten Packer entpacken.

Konfiguration

Das System wird über Konfigurationsdateien im Ordner "config" konfiguriert. Dabei gehört zu jedem Paket eine Konfigurationsdatei mit der Endung "*.txt", die alle für das Paket benötigten Konfigurationsdvariablen enthält. Diese Dateien sind Systemunabhängig und können mit einem Linux sowie einem Windows Editor bearbeitet werden.

Da der Ordner "config" eine Beispielkonfiguration der Pakete enthält ist es ratsam eine Sicherungskopie anzulegen, BEVOR man die Konfiguration ändert.

cp -r config config.bak
cd config
joe [paketname].txt


Obwohl die Konfiguration sehr einfach ist, sollte man sich die Fli4L Basis-Dokumentation unter http://www.fli4l.de/hilfe/dokumentation.html anschauen, da leider noch keine eigene Dokumentation für das Projekt existiert (Freiwillige ?). Wenn man das Prinzip durchschaut hat, kann man die Pakete meistens intuitiv konfigurieren. Die Konfigurationsdateien enthalten ausserdem zusätzlich kleine Hinweise und Beschreibungen.

Installation

Wenn man die Konfigurationsdateien seinen Wünschen entsprechend angepasst hat, kann man das eigentliche System bzw. die Rootfs erstellen. Hierzu findet man für Linux das Script "mkfli4l.sh" und für Windows das Programm "mkfli4l.exe". Beim Start wird als erstes die Konfigurationsdatei config/mkfli4l.conf eingelesen und danach die Konfiguration erstellt. Das Windows Programm bietet zusätzlich die Möglichkeit einige Einstellungen des Build-Prozesses zu ändern. Unter Linux müssen diese Einstellungen manuell in der config/mkfli4l.conf geändert werden.

cd ..
./mkfli4l.sh

Während des Build-Prozesses werden zuerst alle Konfigurationsdateien auf ihre Gültigkeit überprüft. Falls eine Variable ungültige Werte enthält oder Paketabhängigkeiten ungelöst sind, wird der Prozess unterbrochen und eine entsprechende Fehlermeldung(en) angezeigt. Genauso wird der Prozess gestoppt wenn eine Datei nicht gefunden werden konnte.

Wenn alles Fehlerfrei verläuft, findet man im Ordner "build" (kann mit der Variable BUILDDIR='build' in der config/mkfli4l.conf geändert werden) das fertige Image. Andernfalls liegen die Logs von mkfli4l in diesem Ordner.

Abhängig von der Konfiguration muss man nun das Image auf das Zielmedium brennen/kopieren und booten.

Beispielkonfigurationen

PXE/Netboot

CD-Boot

HD-Boot

thin-EisVDR und Fli4L

Obwohl das System auf Fli4L basiert, können die Pakete noch nicht mit Fli4L verwendet werden, da die GLibc benötigt wird. An einem Backport wird jedoch gearbeitet, sodass die meisten Pakete zukünftig mit beiden Systemen verwendet werden können.

Umgekehrt können nur wenige Fli4L-Pakete mit thin-EisVDR verwendet werden, da die uCLibc fehlt. Die Pakete die jedoch keine gegen die uCLibc gelinkten Binaries enthalten, können Problemlos eingesetzt werden. Da als Basis die Fli4L Version 2.1.12 dient, kann man die OPTs der 2.X.X Serie von http://extern.fli4l.de/fli4l_opt-db2/ verwenden. Wenn ein OPT jedoch Kernel-Moule mitbringt, müssen diese für den 2.4.31er Kernel sein.

Möchte man trotz der Inkompatibilität ein Opt von Fli4L verwenden, kann man einen Eisfair mit der dazugehörigen Entwicklungsumgebung (funktioniert super auch in einer VM) aufsetzen und die benötigten Binaries dort kompilieren, da thin-EisVDR die selbe GLibc verwendet (alle thin-EisVDR Binaries wurden auf einem Eisfair kompiliert)

Links

[1] http://vdr-eisfair.flnet.org/sevo/thin-eisvdr/1.0.4/ Download der aktuellen Version
[2] http://vdr-portal.de/board/thread.php?threadid=43689 Diskussion zum Projekt auf vdr-portal.de
[3] http://vdr-portal.de/board/thread.php?threadid=40112 Feature Requests auf vdr-portal.de
[4] http://www.eisfair.org Eisfair Projekt-Homepage und ISO-Image Download
[5] http://www.fli4l.de Fli4L the on(e)-disk-router