= 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