Zen2vdr
News:
07.09.2008: smt7020s macht Plugins und Features zum Download verfügbar 18.08.2008: giga_san veröffentlicht 'sneak preview'
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 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 (Basis-Testsystem) kann über zen2vdr heruntergeladen werden.
Seit dem 18.08.2008 ist eine neue Beta-Version verfügbar, die quasi als 'sneak preview' für den Release Candidate gedacht ist. Die 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. Bitte auf korrekte Polarität achten!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
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!
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.
Konfiguration mit admin-Plugin
Die Konfiguration von zen2vdr 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 bzw. Konfigurationen sind möglich:
System Einstellungen
--- System boot Parameter ---
- 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 :
- hda4 :
--- 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
Erweiterte System Einstellungen
- 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?
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.
Die Plugins und Features des Basissystems dürfen über das Admin-Plugin nicht deaktiviert werden!
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. per openssh) 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] |
admin | Administrative Aufgaben (immer vorhanden) | |
arghdirector | Erweiterung des director-plugins | [2] |
channellists | Auswahl von Kanallisten | [3] |
clock | Einblendung der Uhrzeit | [4] |
eggtimer | Eieruhr für den Fernsehsüchtigen | [5] |
epgsearch | EPG durchsuchen, Suchtimer zum automatischen Anlegen von Timern, Prüfen auf Timerkonflikte | [6] |
epgsync | importiert EPG eines anderen VDR via SVDRP | [7] |
extrecmenu | erweitertes Aufzeichnungs-Menü | [8] |
filebrowser | Dateimanager | [9] |
fritzbox | Das Fritz!Box Plugin informiert über eingehende Anrufe. Auf Wunsch wird dabei der VDR stummgeschaltet. | [10] |
games | Eine kleine OSD Spielesammlung bestehend aus Tetris, Tron, Snake, Tic-Tac-Toe, Minesweeper | [11] |
mlist | History aller OSD-Nachrichten | [12] |
nordlichtsepg | Erweiterte EPG-Anzeige | [13] |
osdpip | Bild-im-Bild | [14] |
osdteletext | Teletext-Dekoder für das OSD | [15] |
pim | Personal information manager | [16] |
prefermenu | Bevorzugte Kanäle | [17] |
premiereepg | premiereepg2vdr als Plugin | [18] |
radio | RDS und Hintergrundbild für Radiosender | [19] |
radiolist | Kanalliste für Radiosender | [20] |
remotetimers | Timerverwaltung in Client-/Server-Struktur | [21] |
skinenigmang | Umsetzung des D-Box Skins Enigma | [22] |
skinsoppalusikka | Umsetzung des Elchi-Patch als Plugin | [23] |
sleeptimer | Ausführen von Befehlen/Shutdown mit "countdown"-Zähler | [24] |
smtinfo | SMT Systeminformationen via OSD (sysinfo-plugin angepasst an SMT-7020S) | [25] |
spider | Kleines OSD-Kartenspiel | [26] |
streamdev | Streaming-Server/Client | [27] |
sudoku | Erzeugen und Lösen von Zahlenpuzzles | [28] |
timeline | Zeigt Kollisionen programmierter Timer | [29] |
tvonscreen | EPG-Viewer im Fernsehzeitungsformat | [30] |
xineliboutput | Xine-Frontend für VDR (immer vorhanden) | |
zaphistory | Liste der zuletzt geschauten Programme mit Statistik | [31] |
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 |
---|---|---|
Samba | Mit Samba kann man Verzeichnisse eines Rechners (z. B. die des VDRs) als Netzwerkfreigaben zu Verfügung stellen. | [32] |
Screen | Hilfsfunktion zur Bildschirmausgabe | [33] |
SSH | SSH Server/Client | [34] |
Standard-Login:
- Benutzer = root
- Passwort = smt
Tipps und Tricks
Partitionen und Mounts
Um den kleinen DOM-Speicher optimal zu nutzen, wird er in zwei Partitionen aufgeteilt. Die erste (hda1, ca 12 MB) witrd für den Kernel und die Boot-Dateien angelegt. Die zweite (hda2, ca. 20 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 Konfigurationsdateien aus der ersten Partition darauf kopiert. Beim Shutdown werden sie gesichert.
Die Partitionen können mittels dd ausgelesen und zur weiteren Nutzung beispielsweise auf Festplatte gespeichert werden.
dd if=/dev/hda1 of=[Dev]/zen2vdr.part1 dd if=/dev/hda2 of=[Dev]/zen2vdr.part2
[Dev] steht für das Device, auf das die Ausgabedatei geschrieben werden soll.
zen2vdr-Installation auf eingebauter Festplatte
Alternative 1: zen2vdr lässt sich per dd auch auf einer 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 mit 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, kann eventuell folgende Vorgehensweise helfen:
- Anschließen einer USB-Tastatur
- System starten und über F2 Boot-Menü aufrufen
- Datum auf 01.01.1988 setzen
- System neu starten
zen2vdr versucht, den Originalzustand wieder herzustellen.