Zen2vdr
26.12.2008: Momentan wird diese Seite überarbeitet. Die Plugin- und Feature-Downloads sind teilweise nur noch für das Weihnachts-Realease gültig!
News:
26.12.2008: smt7020s veröffentlicht die Plugins zum Weihnachts-Release 24.12.2008: giga_san veröffentlicht das "Weihnachts-Release" (Download-Links 1. Seite unten) 01.10.2008: nfs als Features (beta) verfügbar 01.10.2008: giga_san veröffentlicht eine neue "plattenfähige" Version 07.09.2008: smt7020s macht Plugins und Features zum Download verfügbar
Inhaltsverzeichnis |
Über zentoo / zen2vdr
Entwicklung
zen2vdr benötigt in der Minimalversion weniger als 20 MB nichtvolatilen Speicher und ist wahrscheinlich die kleinste und modularste VDR-Distribution.
zen2vdr ist speziell für die Nutzung des VDR in Settop-Boxen entwickelt. Da Settop-Boxen wie die Samsung SMT-7020S, T-Online S100 oder Bose Zenega nur über relativ wenig eingebauten Speicherplatz verfügen, ist dessen optimale Ausnutzung oberstes Entwicklungsziel. Im Basissystem sind deshalb nur die Funktionen integriert, die für den Betrieb eines VDR zwingend erforderlich sind.
Der Entwickler des Basissystems ist giga_san, der auch schon Zenslack entwickelt hat. Die dynamischen Plugins, Features und dieser Wiki-Artikel wurden größtenteils von smt7020s erstellt.
Basissystem und Besonderheiten
Das Basissystem ist zentoo (The art of Zen meets gentoo) mit folgende Merkmalen:
- gentoo basiert
- busybox-init
- squashfs- bzw. tar-komprimierte Dateien
- nur 18 - 25 MB groß (je nach Funktionsumfang)
Der VDR auf zentoo-Basis heißt zentoo-vdr (kurz: zen2vdr) mit folgenden Merkmalen:
- läuft direkt vom DOM (bisher ausschließlich auf der Samsung SMT-7020S)
- erweiterbar durch USB-Medien (Stick oder Platte)
- Auflösung 720 x 576 Punkte
- updatefähig über Internet
- vdr-1.6.0-2 mit xineliboutput- und admin-plugin
Das Basissystem lässt sich über dynamisch ladbare Plugins und Features bedarfsorientiert erweitern.
Historie und Downloads
- Die erste Beta-Version von zen2vdr wurde auf dem VDR-Camp 2008 vorgestellt.
- Das aktuellste DOM-Image (Weihnachts-Testsystem) kann über "Weihnachts-Release" heruntergeladen werden (Download-Links 1. Seite unten).
Die Download Version kommt unkonfiguriert, d. h. Aspect, OSD, IP und Storage müssen noch über das Untermenü 'Einstellungen' bzw. über das admin-plugin eingestellt werden.
Installation und Updates
Ein- und Ausbau des DOMs
Bei einer originalen Samsung SMT7020S ist ein DOM (Disk on Memory, auf dem Bild rot eingerahmt) mit Windows-Software eingebaut. Dieses DOM muss ausgebaut und gegen ein mit zen2vdr bespieltes DOM ausgetauscht werden.
Dazu werden die 3 Schrauben auf der Rückseite der Samsung entfernt und der Deckel abgehoben. Die schwarze Plastikklammer über dem DOM wird mit einem spitzen Schraubendreher oder Stift nach außen gehebelt und entfernt. Dann kann das DOM vorsichtig aus dem IDE-Stecker gezogen werden.
Der Einbau des mit zen2vdr bespielten DOMs erfolgt in umgekehrter Reihenfolge.
zen2vdr auf DOM aufspielen
Das DOM kann in der Samsung nicht direkt mit zen2vdr beschrieben werden. Dies muss entweder mit einem Standard-PC mit IDE-Port oder mit Hilfe eines USB-zu-IDE-Adapters (z. B. Festplattengehäuse mit USB-Anschluss für IDE-Festplatten) erfolgen. Das ausgebaute DOM wird in den IDE-Port gesteckt und muss mit 5 V versorgt werden.
Das aktuellste DOM-Image (Basis-Testsystem) kann aus dem Internet heruntergeladen werden und muss unter Linux entpackt und auf das DOM geschrieben werden:
wget http://zen.htpc-forum.de/development/zen2vdr.img.bz2 bunzip2 zen2vdr.img.bz2 dd if=zen2vdr.img of=/dev/xxx bs=512
xxx steht für das Device, über welches das DOM unter Linux angesprochen wird, z. B. sda beim Einsatz eines USB-zu-IDE-Adapters oder hdb, wenn das DOM im zweitem IDE-Port steckt.
Update über Internet
1. Autoupdate
Zen2vdr bietet eine Autoupdatefunktion an. Bei aktiviertem Autoupdate wird beim weichen Herunterfahren (kurzes Drücken der Power-Taste am Gerät) überprüft, ob eine neue Version im Internet verfügbar ist. Das Autoupdate aktualisiert nur den ROM-Teil von zen2vdr, das Basissystem. Alle Einstellungen oder Dateien auf der 1. Partition bleiben erhalten.
Das Autoupdate wird über das admin-Plugin ein- bzw. ausgeschaltet:
Menü Einstellungen Plugins admin Erweiterte System Einstellungen Autoupdate (Ja / Nein)
2. Manuelles Update
Um ein manuelles Update durchzuführen, muss man sich in die SMT einloggen. Dazu kann man eine USB-Tastatur anschließen oder man loggt sich per SSH von einem anderen Rechner aus über das Netzwerk ein.
ROM-Update: Nur der ROM-Teil, auf dem das Basissystem liegt, wird auf den neuesten Stand gebracht. Alle Einstellungen, die auf der 1. Partition abgespeichert wurden, bleiben erhalten:
sh /etc/niceflash.sh
DOM-Update: Das gesamte DOM wird mit dem Update neu beschrieben. Alle geänderten Einstellungen und gespeicherten Dateien auf den DOM gehen dabei verloren:
sh /etc/forcedflash.sh
Autoupdate und Manuelles Update funktionieren in der Beta-Version vom 01.10.2008 nicht immer und sollten vorerst nicht genutzt werden!
Plugins und Features installieren
Dynamische Plugins und Features sind in komprimierten Dateien (.tgz oder .sqfs) abgelegt. Diese Dateien können entweder direkt auf das DOM (limitierter Platz) oder einen externen USB-Speicher im Verzeichnis /updates gespeichert werden.
Beim Booten überprüft zen2vdr, welche Plugins und Features in den Updates-Verzeichnissen abgelegt sind. Es werden dann aber nur die Plugins und Features geladen, die über das Admin-Plugin als aktiv gekennzeichnet wurden.
- Die komprimierten Dateien werden teilweise im Hauptspeicher entpackt und beanspruchen Speicherplatz. Besonders beim Aktivieren großer Plugins und Features sollte deshalb auf ausreichend freien Hauptspeicher geachtet werden, z. B. über das SMTinfo-plugin oder die Linux-Funktion TOP.
- Wenn die Plugins oder Features auf einem externen Medium (z. B. USB-Stick oder Platte) gespeichert sind, muss darauf geachtet werden, dass das Medium auch gemountet ist.
Bedienung
VDR-Bedienung und -Handbuch
Die standardmäßige Bedienung und Konfiguration des VDR ist im VDR-Benutzerhandbuch ausführlich beschrieben.
Samsung Fernbedienung und Tastenbelegung
Die Tasten auf der Samsung Fernbedienung sind größtenteils selbsterklärend und entsprechen der Standardbelegung des VDR.
Zusätzlich sind folgende Tasten mit speziellen Funktionen belegt:
- TV/R: Aufruf der Kanalübersicht (channels)
- Media: Aufruf des xineliboutput-plugins
- EPG: Aufruf des Programm (schedule)-Befehls
- Text: Aufruf des Osdteletext-plugins
- Aspect: Aufruf des Sysinfo-plugins
- FAV: Aufruf des Arghdirector-plugins
Diese Belegungen können über die Datei /etc/vdr/keymacros.conf verändert werden.
Power-Taste
Bei der Benutzung der Power-Taste ist folgendes zu berücksichtigen:
- Kurzes Drücken der Power-Taste der Fernbedienung versetzt das System in den Standby-Modus. Faktisch wird lediglich die VDR-Ausgabe abgeschaltet. Die Samsung kann in diesem Modus immer noch als Streaming- oder Samba-Server genutzt werden.
- Kurzes Drücken der Power-Taste am Gerät bewirkt, dass temporäre Einstellungen dauerhaft auf dem DOM gespeichert werden und das Gerät sauber heruntergefahren wird. Die gespeicherten Einstellungen sind nach dem Einschalten wirksam.
- Langes Drücken der Power-Taste auf der Fernbedienung oder am Gerät bewirkt ein sogenanntes hartes Ausschalten. Alle temporär durchgeführten Einstellungen geben verloren.
Das harte Ausschalten durch langes Drücken der Power-Taste auf der Fernbedienung oder am Gerät kann zu Systemproblemen führen!
Wenn noch ein Timer aktiv ist, kann das Gerät nicht ausgeschaltet werden
Anzeigen der Boot-Meldungen
zen2vdr gibt die meisten Systemmeldungen auf Terminal 4 aus. Zu diesem gelangt man durch gleichzeitiges Drücken der beiden Tasten <ALT> und <F4>.
Falls die Boot-Meldungen immer erscheinen sollen, ist das lilo-Bootmenü zu verändern.
Befehle-Menü
In VDR ist es möglich Systembefehle vorzudefinieren, die über das Befehle-Menü gestartet werden. Das Befehle Menü wird aufgerufen über:
Menü Befehle
In zen2vdr sind folgende Systembefehle vordefiniert (im Klammern stehen die Befehle):
- Einstellungen sichern und herunterfahren? (/etc/vdr/smt-powerstate.sh poweroff)
- System runterfahren und neu starten? (/sbin/reboot 2>&1)
- Basissystem (ROM) updaten? (/etc/niceflash.sh)
- Gesamtsystem (DOM) updaten? (/etc/forcedflash.sh)
- Onlineupdate durchführen? (/etc/onlineupdate.sh)
- USB Storage-Device mounten? (mount /dev/sda1 /storage)
- USB Storage-Device unmounten? (umount /dev/sda1 /storage)
Das Ausführen des Befehle muss durch Drücken der Taste OK bestätigt werden.
Einstellungen über admin-Plugin
Die Anpassung von zen2vdr auf eigene Bedüprfnisse erfolgt über ein angepasstes admin-plugin, das standardmäßig in Basissystem enthalten ist. Es wird über folgendes Tasten/Menüpunkte aufgerufen:
Menü Einstellungen Plugins admin
oder (bei aktiviertem admin-Menüpunkt)
Menü Administrative Aufgaben
Folgende Einstellungen sind möglich:
System Einstellungen
--- Storage Device ---
- Storage Device Typ: gibt an, auf welchem Speichermedium Videos oder Daten gespeichert werden
- none : Kein Speichermedium vorhanden (default: hda1)
- usb : Speicherung auf USB-Stick oder -Platte
- disk : Speicherung auf interner Festplatte
- network : Speicherung auf Netzwerk-Device
- Storage Formatierung: gibt an, wie das Speichermedium formatiert ist
- ext2 : ext2 formatiert (Linux)
- ext3 : ext3 formatiert (Linux)
- vfat : FAT formatiert (Windows, Default)
- Storage Device: gibt die Partition für den entsprechenden Storage Device Typ an
- sda2, hda3 oder hda4 als Storage Device
--- VDR Einstellungen ---
- Landessprache: legt die Landessprache fest
- de_DE : Landessprache Deutsch
- en_US : Landessprache Englisch
Netzwerk Einstellungen
--- Netzwerk ---
- Netzwerkname des VDR-PC´s: zen2vdr (default)
- IP Vergabe: gibt an, wie die IP der Samsung vergeben
- none : keine IP-Adresse
- dhcp : dynamische IP-Adresse (über dhcp-Server des Routers)
- fixed : statische IP-Adresse (entsprechend der Einstellungen der Netzwerkkarte)
--- Netzwerkkarte ---
- IP-Adresse: IP-Adresse der Samsung
- Gateway (Router): IP-Adresse des Routers
- Nameserver: IP-Adresse des Nameservers
- Subnetmask: Netzbereich
--- Dieste ---
- SSH Server: (Ja/Nein) Soll der SSH-Server beim Start gestartet werden?
Erweiterte System Einstellungen
--- System ---
- DVB Treiber laden: (Ja/Nein) Soll der DVB Treiber geladen werden? (Nein bei Client System)
- Autoupdate: (Ja/Nein) Soll nach Ausschalten auf Autoupdate überprüft werden?
- Standby deaktivieren: (Ja/Nein) Soll der Standbymodus ausgeschaltet werden?
--- Swap (Vorsicht) ---
- none : kein Swap Device
- hda3, hda4, sda1 oder sda2 als Swap-Device
--- Update ---
- Update source URL: IP-Adresse des Updates
- Update Version ID: Version des Updates
Features
Es werden alle in den /updates-Verzeichnissen gespeicherten Features aufgelistet. Die einzelnen Features können aktiviert (Ja) oder deaktiviert (Nein) werden.
Folgende Passwörter sind voreingestellt:
- SSH: User=root, Passwort=smt
- Samba: User=root, Passwort=smt
- VDRadmin: User=root, Passwort=smt
Plugin Aktivierung
Es werden alle in den /updates-Verzeichnissen gespeicherten Plugins aufgelistet. Die einzelnen Plugins können aktiviert (Ja) oder deaktiviert (Nein) werden.
Eintrag im Menu
Mit diesem Parameter kann festgelegt werden, ob im Hauptmenü der Eintrag
Administrative Aufgaben
als Menüpunkt angezeigt wird.
Farbtasten
Mit den Farbtasten werden die vorgenommenen Einstellungen gespeichert bzw. verworfen.
Wichtig: Die Einstellungen sind noch tempörar. Um sie dauerhaft zu speichern, muss die
Power-Taste an der Samsung kurz gedrückt werden.
Die Einstellungen werden dann auf dem DOM gespeichert und werden nach dem erneuten Einschalten wirksam.
Pakete, Plugins und Features
Pakete und Downloads
Das von giga_san zur Verfügung gestellte DOM-Image beinhaltet normalerweise nur die Plugins (admin, xineliboutput), die für den Betrieb und die Konfiguration von zen2vdr zwingend erforderlich sind.
Aufgrund der modularen Struktur von zen2vdr können spezielle Plugin-Pakete zusammengestellt werden. Es sind dazu keine Programmierkenntnisse, sondern nur ein Zugriff auf das DOM (z. B. über den ssh-Service) erforderlich. Für die Paketdefinition müssen die benötigten Plugins heruntergeladen und in das /updates-Verzeichnis gespeichert werden. Nach einem Neustart können die neuen Plugins und Features über das Admin-plugin aktiviert bzw. deaktiviert werden.
Plugins
Die nachfolgenden Plugins können dynamisch geladen werden. Die entsprechenden Plugin-tar-files (plg-<name>.tgz) müssen im /updates-Verzeichnis auf dem DOM oder dem Storage-Device abgelegt werden.
Plugin | Beschreibung | Download |
---|---|---|
ac3mode | Zeigt die Anzahl der Audio-Kanäle | [1] 0.1 |
admin | Administrative Aufgaben (immer vorhanden) | |
arghdirector | Erweiterung des director-plugins | [2] 0.2.7 |
channellists | Auswahl von Kanallisten | [3] 0.0.4 |
clock | Einblendung der Uhrzeit | [4] 0.0.8 |
eggtimer | Eieruhr für den Fernsehsüchtigen | [5] 0.9.5 |
epgsearch | EPG durchsuchen, Suchtimer zum automatischen Anlegen von Timern, Prüfen auf Timerkonflikte | [6] 0.9.24 |
epgsync | importiert EPG eines anderen VDR via SVDRP | [7] 0.0.2 |
extrecmenu | erweitertes Aufzeichnungs-Menü | [8] 1.1 |
filebrowser | Dateimanager | [9] 0.0.6b |
fritzbox | Das Fritz!Box Plugin informiert über eingehende Anrufe. Auf Wunsch wird dabei der VDR stummgeschaltet. | [10] 1.0.1 |
games | Eine kleine OSD Spielesammlung bestehend aus Tetris, Tron, Snake, Tic-Tac-Toe, Minesweeper | [11] 0.6.3 |
mlist | History aller OSD-Nachrichten | [12] 0.0.5 |
mp3 | MP3-Player | [13] 0.10.1 |
nordlichtsepg | Erweiterte EPG-Anzeige | [14] 0.9 |
osdadjust | OSD in Größe und Position anpassen | [15] 0.0.1 |
osdpip | Bild-im-Bild (!!! noch nicht benutzen, Library-Fehler!!!) | [16] 0.0.10 |
osdteletext | Teletext-Dekoder für das OSD | [17] 0.7.0 |
pim | Personal information manager | [18] 0.0.8 |
prefermenu | Bevorzugte Kanäle | [19] 0.6.6 |
premiereepg | premiereepg2vdr als Plugin | [20] 0.0.8 |
radio | RDS und Hintergrundbild für Radiosender | [21] 0.2.4 |
radiolist | Kanalliste für Radiosender | [22] 0.0.2 |
remotetimers | Timerverwaltung in Client-/Server-Struktur | [23] 0.1.0 |
skinenigmang | Umsetzung des D-Box Skins Enigma | [24] 0.0.6 |
skinsoppalusikka | Umsetzung des Elchi-Patch als Plugin | [25] 1.6.0 |
sleeptimer | Ausführen von Befehlen/Shutdown mit "countdown"-Zähler | [26] 0.7 |
spider | Kleines OSD-Kartenspiel | [27] 0.1.4 |
streamdev | Streaming-Server/Client (immer vorhanden) | |
svdrpservice | Bietet anderen Plugins eine Schnittstelle für Zugriff auf SVDRP-Server | [28] 0.0.4 |
sudoku | Erzeugen und Lösen von Zahlenpuzzles | [29] 0.3.0 |
timeline | Zeigt Kollisionen programmierter Timer | [30] 1.0.141 |
tvonscreen | EPG-Viewer im Fernsehzeitungsformat | [31] 1.0.141 |
xineliboutput | Xine-Frontend für VDR (immer vorhanden) | |
zaphistory | Liste der zuletzt geschauten Programme mit Statistik | [32] 0.9.5 |
Dynamische Features
Die nachfolgenden Features können dynamisch geladen werden. Die entsprechenden Feature-squashfs-files (ftr-<name>.sqfs) müssen im /updates-Verzeichnis auf dem DOM oder dem Storage-Device abgelegt werden.
Feature | Beschreibung | Download |
---|---|---|
NFS | Zugriff auf Dateien eines anderen Linux-Rechners (Network File System) | [33] |
Mediatomb | Unterstützung von UPnP Clients. (Unterstützte Geraete) | [34] |
Samba | Mit Samba kann man Verzeichnisse eines Rechners (z. B. die des VDRs) als Netzwerkfreigaben zu Verfügung stellen. | [35] |
Screen | Hilfsfunktion zur Bildschirmausgabe | [36] |
SSH | SSH Server/Client | [37] |
Spezielle Konfigurationen
Für die meisten Konfigurationen müssen spezielle Einstellungen über das admin-Plugin vorgenommen werden. Die Sequenz zum Aufrufen des admin-plugins ist:
Menü Einstellungen Plugins admin
Nach Durchführen der Änderungen müssen diese über folgende Sequenz gespeichert werden:
OK Sp+Verlassen (grüne Taste)
Danach muss die Power-Taste an der Front-Blende kurz gedrückt werden.
Im folgenden werden die Start- und Speicherungssequenz wie folgt gekennzeichnet:
<admin> Sequenz zum Aufrufen der admin-Plugins <OK> Sequenz zum Speichern der Einstellungen
Einbinden von USB-Platte / USB-Stick
Das automatische Einbinden einer eigene USB-Platten oder eines USB-Sticks zum Aufnehmen- und Abspielen von Media-Dateien ist recht einfach. Folgende Schritte sind durchzuführen:
- USB-Platte/-Stick formatieren (empfohlen: VFAT)
- Falls gewünscht folgende Verzeichnisse anlegen:
- updates : für dynamisch ladbare Plugins und Features
- audio : zum Speichern von Music-Dateien (.mp3)
- movie: zum Speichern von Film-Dateien (.avi)
- picture : zum Speichern von Bildern (.jpg, .png, .gif)
- Die USB-Platte/-Stick an die USB-Buchse der Samsung anschließen.
- Über das admin-Plugin USB als Storage-Device und den entsprechenden Formatierungstyp einstellen:
<admin> System Einstellungen Storage Typ: usb Storage Device: sda1 Storage Formatierung: vfat <OK>
EInbinden eines NFS-Servers
Einbinden einer Samba Servers
Einbinden einer UnPn-Clients
Über das mediatomb-feature lassen sich UnPn-Clients, z. B. PS3, über ein lokales Netzwerk einzubinden. Dazu müssen das, müssen das streamdev-server Plugin und das mediatomb Feature im admin Plugin aktiviert:
<admin> Features MediaTomb Server: ja <-- (back) Plugins streamdev-server: ja <OK>
Danach erstellt das Feature einen LiveTV Directory unter /storage und darin sind zum Testen 3 stream-files.
Auf der PS3 kann man diese dann z.B im Crossbar finden und abspielen.
Tipps und Tricks
Partitionen, Mounts und Konfigurationen
Um den kleinen DOM-Speicher optimal zu nutzen, wird er in zwei Partitionen aufgeteilt. Die erste (hda1, ca 10 MB) wird für Boot- und Konfigurations-Dateien angelegt. Die zweite (hda2, ca. 23 MB) für ein Squashfs-Image, welches das Betriebssystem und VDR-Dateien enthält. Damit das ganze nach dem Bootvorgang wie ein "normales" System aussieht, werden die wichtigsten Verzeichnisse nach dem Boot mittels eines Union-mounts auf ein tmpfs beschreibbar gemacht.
Beim Booten werden Konfigurations-Ddateien aus der ersten Partition darauf kopiert. Beim Shutdown werden sie gesichert. Die Konfigurations-Dateien des Systems werden im Ordner '/conf' gespeichert, VDR-Plugin-Konfigurationen in 'vdr-config.tgz' in diesem Ordner. Jedes Plugin und jedes Feature ist fuer seine Konfigurations-Dateien selber verantwortlich. Welche Dateien von VDR beim naechsten Runterfahren gesichert werden steht in '/tmp/savelist'.
zen2vdr-Installation auf interne Festplatte
Alternative 1: zen2vdr lässt sich per dd auch auf einer in die Samsung eingebaute Festplatte installieren. Die Platte muß wie folgt partitioniert werden: hda1 (mindestens 6 MB), hda2 (ca. 23 MB), hda3 (Rest). zen2vdr ist per dd auf die beiden Partitionen zu schreiben. hda3 kann als storage-Verzeichnis genutzt werden (siehe admin-Plugin).
Wichtig: Evtl. Installieren des lilo-bootloaders erforderlich.
Alternative 2: Evtl. einfacher ist die Installation auf Festplatte (hda) mit:
dd if=zen2vdr.img of=/dev/hda bs=512
Anschließend muß dann nur der verbleibende freie Plattenplatz als hda3 partitioniert werden und als ext2 oder vfat formatiert werden (z. B. mit gparted unter Knoppix).
Bootvorgang hängt
Manchmal bleibt das System nach folgender Meldung hängen:
Decompressing Linux... Ok, booting the kernel. ...3-0:1.0: over-current change on port 1 ...3-0:1.0: over-current change on port 2
Dies ist ein Hinweis darauf, dass ein USB-Stick bzw. eine USB-Platte erwartet wird oder es Probleme beim USB-Mount gibt.
Bei Nutzung eines USB-Sticks muß folgendes beachtet werden:
- Im BIOS muß USB aktiviert sein.
- Der USB-Stick muß eine primäre Partition haben (/dev/sda1)
- Der Stick sollte FAT formatiert sein.
- Wenn man beim Booten auf einer USB Tastatur ALT+F4 drückt, erscheint die Konsole - Wenn dort "waitfor_usb" steht hat zen2vdr den Stick nicht gefunden.
System zerschossen
Wenn das System nicht mehr funktioniert oder die Einstelldateien durch was auch immer zerschossen sind, hilft folgende Vorgehensweise:
- Anschließen einer USB-Tastatur
- System starten und über F2 Boot-Menü aufrufen
- Datum auf 01.01.1988 setzen
- System neu starten
Falls keine USB-Tastatur verfügbar ist, könnte alternativ auch ein "Bios-Hardware-Reset" durchgeführt werden.
zen2vdr stellt den Originalzustand wieder her. Dazu werden alle Benutzer-Einstellungen, die von System im Verzeichnis /conf gespeichert werden, gelöscht.