DBox 2 unter Linux #
Wer eine DBox2 von Premiere hat, kann diese unter Linux betreiben. Dadurch wird diese schneller, vielseitiger und rundum besser. Um es genau zu sagen: Es gibt keinen Grund, diese Umstellung nicht zu machen! Um hier allerdings Missverständnissen vorzubeugen: Man kann mit Linux auf der DBox keine Sender sehen, die nicht auf der Karte freigeschaltet sind!. Wer allerdings eine Smartcard hat, kann seine Premiere-Sender sehen. Ausserdem gilt das hier gesagte nur für die DBox2. Diese kann von der technisch komplett verschiedenen DBox1 unterschieden werden, weil sie zwei Slots für Smartkarten hat.
Was geschieht überhaupt? #
Im Prinzip ist die D-Box ein PowerPC-Computer mit 32MB RAM und einem Betriebssystem, das beim Starten aus einem Flash-Speicher gelesen wird. Beim Hochfahren geht die Box nun hin und holt per BOOTP-Protokoll (ähnlich DHCP) Daten für die Ethernet-Schnittstelle. Nun kann man einen signierten Kernel per BOOTP booten und mit diesem dann ein eigenes System von einem NFS-Laufwerk hochfahren. Leider kennt keiner den passenden Signaturschlüssel. :-( Deshalb muss die DBox in den sogenannten Debug-Modus versetzt werden (Hardwareeingriff), in dem sie auch unsiginerte Kernel schluckt. Hat man auf diese Art und Weise ein eigenes System gestartet, kann man entweder glücklich sein und die Box immer auf diese Art und Weise betreiben, was einen angeschlossenen PC voraussetzt oder den Schreibschutz des Flash-Speichers aufheben (Hardwareeingriff) und Linux in das Flash schreiben, worauf die Box ab jetzt nur noch mit Linux läuft.
Was bekomme ich? #
Erstmal ist das ganze obercool und Linux sowieso besser... :-) Dann ist die Software der Original-Box in Java geschrieben und deswegen so gähnend langsam. Z.B. ein Programmwechsel geht fast so schnell wie am Fernseher. Ausserdem ist die Oberfläche wesentlich übersichtlicher und informativer, der EPG (Elektronischer Programm-Guide) kann wirklich benutzt werden und neben allem gibt es natürlich auch ein paar Video-Spiele. :-)
Technisch betrachtet bekommt man ein PowerPC-Linux mit einer Distribution, die speziell auf die DBox abgestimmt ist sowie eine Benutzeroberfläche, die auch die Bedienung der Box möglich macht. Die verbreiteteste Oberfläche scheint Neutrino zu sein. Ich benutze es jedenfalls und bin recht zufrieden damit.
Was habe ich gemacht? #
Ich habe zuerst die D-Box in den Debug-Mode versetzt. Alle Anleitungen reden immer davon, dann mit dem Windows-Programm DBox-Bootmanager die Box zu flashen. Erstens hasse ich Windows (geht ausserdem auch per Linux) und zweitens muss man das Flash gar nicht verändern, wenn ein Server in der Nähe ist! Da hier bei mir eh immer ein Netzwerk läuft, reichte das schon, um die Box per bootp betreiben zu können. Man muss also den Flash-Speicher gar nicht ändern. Außerdem riskiert man so erstmal nicht, sein Original-System löschen zu müssen. Man kann wählen: Netzwerkkabel einstecken -> Linux-Neutrino; Netzwerkkabel herausziehen -> Betaresearch.
Im Prinzip habe ich mich eng an das Linux-Kapitel 2.3 des HOWTOS http://www.noernet.de/dbox2/howto/DBox2-HOWTO-2.html angelehnt. Dazu habe ich die Pakete dhcp3-server, rarpd, nfs-kernel-server, tftpd installiert und wie dort beschrieben installiert (Keine -s -Option bei tftpd benutzen).
Dann habe ich eine aktuelle yadd.tar.gz (Yet Another DBox Distribution) von http://dboxupdate.berlios.de/ nach /dbox entpackt, die Box ans Netz gehangen und eingeschaltet. Fertig!
Detaillierte Installation #
Namensauflösung #
In die Datei /etc/hosts einfügen:
192.168.0.2 dbox
rarp #
apt-get install rarpd echo "00:50:12:34:56:78 192.168.0.2" >/etc/ethers
dhcp #
apt-get install dhcp3-server
In die Datei /etc/dhcp3/dhcpd.conf folgendes am Ende einfügen:
# D-Box #######
subnet 192.168.0.0 netmask 255.255.255.0 { } host dbox { fixed-address 192.168.0.2; hardware ethernet 00:50:9c:1e:5f:24; allow bootp; server-name "192.168.0.1"; if exists vendor-class-identifier { filename "kernel-cdk"; option root-path "/home/dbox/dbox2/cdkroot"; } else { filename "u-boot"; } option domain-name-servers 192.168.1.1; option routers 192.168.0.1; }
tftp #
apt-get install atftpd
Ich musste in /etc/inetd.conf den Pfad von /tftpboot auf /home/dbox/dbox2/tftpboot umstellen.
nfs #
apt-get install nfs-kernel-server
Eintrag in /etc/exports:
/home/dbox/dbox2/cdkroot dbox(rw,no_root_squash,async)
Yadd (Yet another DBox Distribution) #
Man kann von einschlägigen Quuellen eine fertige Yadd beziehen. Da ich Bastler bin, habe ich mir jedoch von http://cvs.tuxbox.org den aktuellen CVS-Stand besorgt und diesen wie in doc/INSTALLATION beschrieben übersetzt (Achtung, das dauert eine Weile!)
All dies habe ich als User "dbox" gemacht, so dass die Pfade, die oben angegeben wurden, ins Home-Verzeichnis dieses Users zeigen. Im Unterverzeichnis "cdkroot" befindet sich nach der Übersetzung das spätere root-Verzeichnis der DBox.
Streaming #
Unter Streaming versteht man das Speichern des Bilddatenstroms auf einen angeschlossenen PC sowie die Wiedergabe eines gespeicherten Stroms per DBox.
Aufnahme #
sserver
Hierzu muss aus dem CVS (oder von der Homepage) das Tool ggrab übersetzt werden. Dabei wird auch das Programm sserver erzeugt. Dieses wird gestartet. Es kann dann von der DBox aus per "blaue Taste - rote Taste" eine Aufnahme gestartet und mit "rote Taste" beendet werden.
mm4dbox
Ein kleines Skript zum Streamen.Zu finden unter www.dbox2.info Es bietet auch die Möglichkeit, direkt DivX zu kodieren.
udrec_suite
Dieses Paket scheint der fortschrittlichste Weg zu sein, einen Videorecorder zu verwirklichen. Zuerstmal habe ich dazu VLC installiert, wie unten beschrieben. Dann habe ich udrec-suite von unten angegebenem Link geholt und bin wie im INSTALL-File angegeben vorgegangen, d.h. ich habe erstmal einige andere Pakete installiert:
apt-get install mjpegtools toolame a52dec apt-get install g++ apt-get install xvfb curl alien fakeroot
Dann packt man das Sourcepaket der udrec_suite aus und gibt folgendes ein:
make deb
Das im Verzeichnis build entstandene Debian-Paket dann als root installieren.
to be continued...
Abspielen #
Der Movieplayer, der in der DBox integriert ist, kann entweder einen Transportstream (TS) per NFS lesen und abspielen. Dabei hat es bei unseren Versuchen jedoch so gut wie immer geruckelt. :-( Alternativ kann man auf Dateien per VLC (http://www.videolan.org) zugreifen. Dazu muss man einen aktuellen VLC wie auf dessen Download-Seite beschrieben installieren. Bei einem Debian-System ist dabei auf jeden Fall das Unstable-Paket zu installieren. Dies bedeutet, dass einige andere Pakete auch auf Debian-unstable geupdatet werden müssen, aber sowas schockt einen echten Linuxer ja nicht... am besten dazu beide Distris in die sources.list, in apt.conf "testing" als Standard eintragen und mit
apt-get install vlc/unstable libdvdcss2 vlc-gnome/unstable wxvlc/unstable gnome-vlc/unstable ttf-thryomanes
den vlc und alle empfohlenen Zubehör-Pakete installieren. Dann hält sich das upgrade in Grenzen.
Der vlc wird dann mit
vlc --extraintf http
gestartet. Dann stellt man in der DBox unter "Einstellungen / Movieplayer" die Daten des Servers ein und kann nun den Movieplayer auch für Dateien per VLC benutzen. Leider haben wir hier die optimalen Einstellungen nich nicht gefunden (Audio und Video sind nicht synchron), aber wir arbeiten daran...
Links #
- Grundlagen
- http://www.de.tomshardware.com/praxis/20020617/index.html - Artikel bei Tom's Hardwareguide
- http://www.de.tomshardware.com/praxis/20020622/index.html - Artikel bei Tom's Hardwareguide - Teil 2
- http://www.dbox2.net - Einführung, recht übersichtlich, dafür nicht bis in die letzten Details
- http://www.noernet.de/dbox2/howto/DBox2-HOWTO.html - Anleitung für den Debug-Modus
- Homepages wichtiger Projekte und Foren zum Thema
- http://www.tuxbox.org - aktuellere Seite auch für Developer
- http://dbox2.elxsi.de/ - (offline?) Die ursprüngliche und älteste der DBox2-Seiten, von den "wahren Hackern"
- http://www.dbox2.info - (offline?) Neutrino-Homepage
- http://tuxbox.berlios.de/ - aktuelle Projekt-Homepage bei Berlios (sowas wie Sourceforge)
- http://dboxupdate.berlios.de/ - aktuelle Images, von tuxbox übernommen und zusammengestellt
- http://dreamworld.boardplace-hosting.de/board/index.php - Board zum Thema mit vielen kranken Windows-DAUs
- Windows-Tools
- http://dbox.feldtech.com/ - Bootmanager unter Windows
- Streaming
- http://udrecsuite.sourceforge.net/ - ein Projekt für einen kompletten DBox-Videorecorder unter Linux
- http://www.giggo.de/dbox2/movieplayer.html - HOWTO zum Movieplayer
- http://www.haraldmaiss.de/ - DVD-Erstellung