RST-L WS 04/05 Dany Drygalla Andreas Haase
RST-L WS 04/05 Dany Drygalla Andreas Haase
RST-L WS 04/05 Dany Drygalla Andreas Haase
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>RST</strong>-L <strong>WS</strong> <strong>04</strong>/<strong>05</strong><br />
Praktischer Versuch zur<br />
Installation eines alternativen (besseren)<br />
Betriebssystems auf der D-BOX II (Nokia)<br />
Nach dem Artikel „Tux-TV“ in der Zeitschrift c't, Ausgabe 26, Jahrgang 2002<br />
<strong>Dany</strong> <strong>Drygalla</strong><br />
<strong>Andreas</strong> <strong>Haase</strong>
Inhaltsverzeichnis<br />
1 Vorwort.................................................................................................................................... 3<br />
2 Anschlüsse der D-BOX............................................................................................................4<br />
3 Nachteile des BetaNova–OS von BetaResearch gegenüber Linux.......................................... 4<br />
4 Vorteile von Linux auf der DBOX...........................................................................................5<br />
5 Hardware der Nokia DBOX.....................................................................................................5<br />
6 Vorbereitung der Installation................................................................................................... 5<br />
7 Linux-Installation auf der D-BOX......................................................................................... 12<br />
8 Funktionstest.......................................................................................................................... 15<br />
9 Fazit........................................................................................................................................18<br />
10 Links.....................................................................................................................................19<br />
Anhang: c't Artikel.................................................................................................................... 19<br />
Abbildungsverzeichnis<br />
Abbildung 1: Anschlüsse der D-BOX 4<br />
Abbildung 2: Flash_Reset Pin bei der Nokia-DBOX mit 2xIntel Flash. Quelle: http://www.dietmarh.net/img/nokia_2xi_pin12.jpg<br />
6<br />
Abbildung 3: Voreinstellungen für Debug Modus 7<br />
Abbildung 4: Bootloader im Debug Modus. Quelle:http://wiki.tuxbox.org 9<br />
Abbildung 5: Unter „Utililities“ befindet sich die Funktion zum Auslesen des Flash-ROMs der DBOX 9<br />
Abbildung 6: Auslesevorgang an serieller Konsole 10<br />
Abbildung 7: Microcodes aus Originalsoftware extrahieren 11<br />
Abbildung 8: Auslesen der Microcodes erfolgreich 11<br />
Abbildung 9: Herunterladen des Yadi-Images 12<br />
Abbildung 10: der Bootmanager hat den Schreibvorgang beendet 14<br />
Abbildung 11: Erster Start der DBOX mit Linux 14<br />
Abbildung 12: Mit dem Laden der Microcodes auf die D-BOX ist die Installation von Linux abgeschlossen 14<br />
Abbildung 13: Ucodes wurden erfolgreich eingebunden 15<br />
Abbildung 14: NFS-Freigabe für die D-BOX einrichten, Anschließend „Start“ betätigen 15<br />
Abbildung 15: Starten des Audioplayers 16<br />
Abbildung 16: Der Audioplayer von Neutrino 16<br />
Abbildung 17: NFS-Einstellungen 16<br />
Abbildung 18: Einrichten der NFS Freigabe auf der D-BOX 17<br />
Abbildung 19: rekursives Durchsuchen von Verzeichnissen 17<br />
Abbildung 20: Der Audioplayer in Aktion 18
1 Vorwort<br />
„Premiere-Zuschauer kennen das Theater: Die Original-Software der dbox2 macht den digitalen<br />
Fernsehgenuss zur Geduldsprobe. Die Bedienoberfläche ist recht behäbig und nicht besonders<br />
übersichtlich; das Zappen zwischen den Kanälen dauert bis zu fünf Sekunden und wer sich aus<br />
hunderten von Satelliten-Kanälen seine Favoriten zusammenstellen möchte, verzweifelt an der<br />
hakeligen Bouquet-Verwaltung.<br />
Es gibt jedoch eine Alternative zum langweiligen Betanova-Betriebssystem: Findige Linux-<br />
Entwickler haben eine eigene Firmware entwickelt, die dem Digital-Receiver völlig neue<br />
Anwendungsgebiete erschließt. Neben komfortablen und schnellen Bedienoberflächen für den<br />
Fernseh-Modus laufen nun auch einfache Spiele und Netzwerkanwendungen auf der Box. Obwohl<br />
in der dbox2 keineswegs ein Intel-Prozessor arbeitet, sondern ein PowerPC - mit der neuen<br />
Software gibt sie sich kommunikativ wie ein normaler Linux-Rechner und lässt sich per Telnet-<br />
Kommandozeile und Browser-Oberfläche steuern.<br />
Via FTP überträgt man komfortabel Senderlisten und Software-Updates in die Box. Ein PC im<br />
lokalen Netzwerk kann den MPEG-Stream des Fernsehprogramms auf Festplatte bannen. Auch das<br />
Radioprogramm digitaler Stationen findet so als Audio-Stream für Winamp & Co. den Weg ins<br />
Heimnetz.<br />
Eine so aufgebohrte dbox2 stellt andere Satelliten-Receiver leicht in den Schatten - vorausgesetzt<br />
man verfügt über etwas Linux-Know-how und traut sich zu, die meist nötigen Hardware-Eingriffe<br />
vorzunehmen. Die Software ist zwar mittlerweile recht ausgereift und leicht zu bedienen - hin und<br />
wieder bleiben Abstürze jedoch nicht aus. „ 1<br />
Es wird empfohlen, zunächst den c't Artikel (im Anhang dieses Dokumentes zu finden) zu lesen.<br />
Dieser bietet eine gute Einführung in die Thematik, um die hier vorgestellten Arbeitsschritte und<br />
Begriffe zu besser zu verstehen.<br />
1 Tux-TV, Linux auf Premieres D-BOXII, C'T 26/2002, S. 224
2 Anschlüsse der D-BOX<br />
1x Netzanschluß<br />
1x Stereo RCA (Cinch) Ausgang (Anschluß an Stereoanlage)<br />
2x Scart (1x Fernseher, 1x Videorecorder)<br />
1x optischer Audio-Digitalausgang (IEC-958)<br />
1x serieller Anschluß (RS-232)<br />
1x Analog Modem (RJ-11)<br />
1x SAT-Antenneneingang<br />
1x Antennenausgang für Analog-Receiver<br />
1x Ausgang für VCR-Steuerung (Infrarot)<br />
Abbildung 1: Anschlüsse der D-BOX<br />
3 Nachteile des BetaNova–OS von BetaResearch gegenüber Linux<br />
– Die D-Box benötigt nach dem Einschalten ca 3 Minuten zum Hochfahren (Linux: ca. 30<br />
Sekunden)<br />
– Träge reagierende Benutzeroberfläche. Da die Benutzeroberfläche größtenteils in Java<br />
programmiert wurde, sind sich viele Entwickler darüber einig, dass dies die Hauptursache für die<br />
Trägheit des Systems ist.<br />
– Komplizierte und unübersichtliche Menüführung<br />
– Das Betanova-Betriebssystem verzichtet konsequent auf die Benutzung der vorhandenen<br />
Ethernet-Schnittstelle, mit deren Hilfe sich das ohnehin im Receiver vorhandene MPEG2-Signal<br />
ohne Qualitätsverlust auf einen angeschlossenen PC oder einen digitalen Videorecorder<br />
übertragen ließe. Dem Anwender bleibt hier nur die Möglichkeit, das analoge Fernsehsignal am<br />
SCART-Anschluß zur Aufzeichnung zu verwenden.
4 Vorteile von Linux auf der DBOX<br />
– Ca. 30 Sekunden nach dem Einschalten ist die D-BOX betriebsbereit<br />
– Komfortablere Benutzeroberfläche als mit dem Betanova-OS<br />
– Linux verwendet die am Gerät vorhandene Ethernet-Schnittstelle. Die D-BOX ist mit dem<br />
Linux-Betriebssystem nun in der Lage, das MPEG2 – kodierte Fernsehsignal direkt in eine Datei<br />
auf einem im lokalen Netzwerk angeschlossenen PC (mit einem freigegebenem Verzeichnis) zu<br />
schreiben, um so Fernsehsendungen digital aufzunehmen. Anders herum kann die D-BOX jetzt<br />
auch als so genannter „Streaming Client“ fungieren, was bedeutet, dass sich Musik (z. B. OGG<br />
Vorbis, MP3)- und Videodateien (MPEG-Format), die sich auf der Festplatte eines Rechners im<br />
Arbeitszimmer befinden, auf der D-BOX im Wohnzimmer wiedergeben lassen.<br />
– Fernsteuerung über eigenen HTTP-Server<br />
– Einfache Netzwerkanwendungen (RSH, Telnet, FTP...)<br />
5 Hardware der Nokia DBOX<br />
CPU Motorola MPC 832 (32 Bit PPC-Kern, 66MHz, Ethernet)<br />
32MB SD-RAM<br />
8MB Flash ROM, aufgeteilt auf zwei 4MB Intel TE28F320C3B Bausteine<br />
Samsung CAM (Conditional Access Module)-Chip<br />
C-Cube GTX MPEG-2 Transport Stream Demultiplexer Chip<br />
C-Cube AVIA500 Audio/Video Decoder Chip<br />
SAA7126 Digital Video Encoder<br />
NEC 78k Microcontroller als Frontendprozessor<br />
6 Vorbereitung der Installation<br />
Damit Linux installiert werden kann, ist es nötig, den Bootloader der D-BOX, der das eigentliche<br />
Betriebssystem auf der D-BOX startet, in den sogenannten Debug Modus zu bringen. Im Prinzip<br />
reicht es aus, eine Variable im Bootloader zu ändern. Der Zugriff darauf ist jedoch das Problem.<br />
Erst im Debug Modus führt der Bootloader Software (sprich:Linux) aus, die nicht durch<br />
BetaResearch digital signiert wurde. Es gibt mehrere Methoden, den Bootloader der D-BOX in den<br />
Debug Modus zu bringen. Welche das im einzelnen sind, hängt immer von der Software-Version<br />
des Bootloaders, Anzahl (ein oder zwei) und Hersteller (Intel oder AMD) der verwendeten Flash-<br />
EEPROM's, die in der Box verbaut wurden, sowie vom Hersteller der D-BOX ab (außer Nokia noch<br />
Sagem und Philips). Die uns zur Verfügung stehende D-BOX ist ein „Spezialfall“, bei der nur eine<br />
einzige Methode funktioniert (http://www.dietmar-h.net/mhc_debugn2xi.html)<br />
. Siehe hierzu den<br />
letzten Absatz im Abschnitt „Trojanischer Kernel“ im c't-Artikel. Dazu ist ein Hardware Eingriff in<br />
das Gerät erforderlich, mit dem man zum richtigen Zeitpunkt den Bootvorgang unterbricht und den<br />
Bootloader mit seinen eigenen Befehlen bearbeitet. Im Rahmen dieses Versuches führte die<br />
genannte Methode sofort zum Erfolg. Die Methode wird im folgenden vorgestellt und setzt folgende<br />
Dinge voraus:
– Die D-BOX wird geöffnet und der FLASH_RESET-Pin lokalisiert (auf dem Bild unten das<br />
Lötauge mit der Bezeichnung pin12)<br />
– Per Nullmodemleitung werden die RS-232 Schnittstellen von PC und D-BOX verbunden.<br />
– Die Netzwerkschnittstellen von PC und D-BOX werden über eine kreuzverdrahtete<br />
Anschlussleitung (sog. Crossover Cable) verbunden.<br />
– Die Netzwerkkarte im PC wird dabei fest auf 10Mbit/s, halb duplex eingestellt, s. a. c't-Artikel,<br />
Abschnitt „Türsteher“.<br />
– Die Software „Dbox II Bootmanager“ (http://dbox.feldtech.com/) auf dem PC.<br />
– Eine Datei namens ppcboot (http://www.dietmar-h.net/tools/ppcboot) wird benötigt. Diese Datei<br />
enthält eine Laderoutine für den Linux-Kernel und wird vom Bootloader aufgerufen, da der<br />
Bootloader nicht selbst den Linux-Kernel startet.<br />
Abbildung 2: Flash_Reset Pin bei der Nokia-DBOX mit 2xIntel Flash. Quelle:<br />
http://www.dietmar-h.net/img/nokia_2xi_pin12.jpg
Danach wurde der Bootmanager geöffnet. Im Feld „Dbox II IP“ kann eine beliebige IP-Adresse<br />
eingegeben werden, solange sie im gleichen Subnetz der Netzwerkkarte des PCs liegt.<br />
Die anderen Einstellungen wurden so vorgenommen, wie sie in der beschriebenen Methode<br />
gefordert sind. Der eingetragene Pfad unter „Bootfile für Dbox“ zeigt auf die oben genannte<br />
ppcboot. Nun wurde der Boot-Manager gestartet.<br />
Abbildung 3: Voreinstellungen für Debug Modus<br />
Danach wird die D-BOX in die Stromversorgung eingesteckt. Der Bootloader sendet einen BOOTP-<br />
Broadcast in das Netzwerk. Damit bekommt die D-BOX die im Boot-Manager eingestellte IP-<br />
Adresse zugewiesen und fordert per TFTP die ppcboot an:<br />
BootP> Created dynamic ARP entry for DBoxIP 192.168.0.99 with MAC 00:50:9C:17:32:07<br />
BootP> Answer sent!<br />
TFTP> Started TFTP-Transfer for "D:\Software\DBOX\ppcboot"...<br />
TFTP> Transfer finished, sent 414 blocks<br />
Der Bootloader erkennt jedoch, dass es sich um eine nicht signierte Startdatei handelt und löst einen<br />
Reset der D-BOX aus. In der LCD-Anzeige wird „Reset“ angezeigt und kurz darauf startet die D-<br />
BOX neu. Da sich dies jetzt immer wiederholen würde, muss an dieser Stelle nun der Bootvorgang<br />
unterbrochen werden. Sobald wieder Reset angezeigt wird, muss die „Pfeil-oben“ - Taste an der D-<br />
BOX betätigt werden, bis eine Zahlenkolonne in der LCD-Anzeige erscheint. Dies veranlasst den<br />
Bootloader, einen Test des Flash-Speichers durchzuführen. Dies ist jetzt der Zeitpunkt für den<br />
Hardwareeingriff: Der FLASH_RESET-Pin muss nun mit einem Draht einige Sekunden auf Low-
Potential gelegt werden, z.B am Tunergehäuse (Die Bezeichnung FLASH_RESET ist unserer<br />
Meinung nach etwas unglücklich gewählt, weil dadurch der Eindruck entsteht, der Flash-Speicher<br />
würde gelöscht. Tatsächlich wird aber durch das low-Signal lediglich der Flash-Speicher<br />
deaktiviert. Deshalb wäre die Bezeichnung CHIP_ENABLE sicherlich sinvoller). Dadurch fällt der<br />
Test des Flash-Speichers für den Bootloader negativ aus, was ihn in einen Fehlerzustand bringt.<br />
Durch den Fehlerzustand öffnet der Bootloader eine Konsole auf dem RS-232 Anschluß, der über<br />
die Nullmodemleitung mit dem PC verbunden ist und wartet auf Benutzereingaben. Zu betätigende<br />
Sondertasten sind durch eckige Klammern gekennzeichnet.<br />
Durch den chorus-Befehl wird die geladene ppcboot gestartet, die vorher mangels Signatur nicht<br />
ausgeführt wurde:<br />
chorus 800000[ENTER]<br />
Branching to 0x40000<br />
ppcboot 0.6.4 (Nov 1 2002 - 18:37:07)<br />
Initializing...<br />
CPU: PPC823ZTnnA at 67 MHz: 2 kB I-Cache 1 kB D-Cache<br />
*** Warning: CPU Core has Silicon Bugs -- Check the Errata ***<br />
Board: ### No HW ID - assuming TQM8xxL<br />
DRAM: (faked) 32 MB<br />
Ethernet: 00-50-9c-17-32-07<br />
FLASH: 8 MB<br />
LCD driver (KS0713) initialized<br />
Input: serial<br />
Output: serial<br />
Ersten Flash-ROM Sektor ins RAM kopieren, 10000000 ist die Startadresse des Flash-ROMs auf<br />
der DBOX.<br />
dbox2-ppcboot> cp 10000000 01000000 1000[ENTER]<br />
Speicheradresse 944h editieren, an dieser Adresse befindet sich eine Kopie der Debug-Variable bei<br />
der Nokia-DBOX mit Bootloader(Bmon)-Version 1.0<br />
dbox2-ppcboot> nm 01000944[ENTER]<br />
01000944: ffffffff ? 00000000[ENTER]<br />
Änderungsmodus verlassen<br />
01000944: 00000000 ? [ESC][ENTER]<br />
Software-Schreibschutz des ersten Flash-ROM-Sektors aufheben.<br />
dbox2-ppcboot> prot off 1:0[ENTER]<br />
Un-Protect Flash Sectors 0-0 in Bank # 1.<br />
Nun den geänderten Sektor zurückschreiben. Normalerweise sollte die D-BOX einen zusätzlichen<br />
Hardware-Schreibschutz für die ersten 128kb des Flash-Speichers besitzen, welcher bewirkt, dass<br />
das nachfolgende Kommando fehlschlägt. Durch einen Designfehler auf der Hauptplatine ist dieser<br />
jedoch wirkungslos. Das ist bei nahezu allen D-BOXen vom Hersteller Nokia der Fall.<br />
dbox2-ppcboot> cp 01000000 10000000 1000[ENTER]<br />
Copy to Flash... done<br />
D-BOX Reset durchführen<br />
dbox2-ppcboot> go 10000100[ENTER]<br />
## Starting application at 0x10000100 ...<br />
Nach dieser Prozedur ist der Debug-Modus aktiv. Die D-BOX zeigt nach dem Reset die typischen<br />
Debug-Meldungen des Bootloaders an.
Abbildung 4: Bootloader im Debug<br />
Modus. Quelle:http://wiki.tuxbox.org<br />
Als nächstes muß wieder mit Hilfe des „Dbox II Bootmanager“ zunächst das Betanova-OS aus dem<br />
Flash-ROM Der D-BOX ausgelesen werden. Gleichzeitig hat man so eine Sicherungskopie des<br />
Betanova-OS als Speicherabbild auf der Festplatte. Der Bootmanager bringt dafür eine angepasste<br />
ppcboot mit (ppcboot_readflash). Das Speicherabbild enthält spezielle Firmwaredateien<br />
(microcodes oder auch ucodes genannt), die für die Funktion einzelner Hardwarekomponenten<br />
(CAM, MPEG-2 Transport Stream Demultiplexer, Audio/Video Decoder) zwingend erforderlich<br />
sind. Diese Dateien müssen nach dem Auslesen aus dem Original-Speicherabbild extrahiert werden<br />
und werden nach der Linux-Installation per File Transfer Protocol (FTP) auf die D-BOX geladen.<br />
Beides erledigt der „Dbox II Bootmanager“ auf Knopfdruck. Mit der Funktion „Image Flashen“<br />
lässt sich das Flash-ROM auf der D-BOX mit einem beliebigen Speicherabbild beschreiben.<br />
Abbildung 5: Unter „Utililities“ befindet sich die Funktion zum Auslesen des Flash-ROMs der DBOX
Der „Image Auslesen“-Button wird betätigt. Es erscheint ein Dialogfenster, welches zur Angabe des<br />
Speicherortes und eines Dateinamens auffordert. Die Datei wurde mit<br />
BN2.01_20<strong>05</strong>0129_Nokia_SAT_2xIntel_BMON1.0.img benannt. Dabei bedeutet<br />
– BN2.01 = Betanova OS Version 2.01 (momentan aktuell von Premiere)<br />
– Nokia = Hersteller<br />
– SAT = für Satellitenempfang<br />
– 2xIntel = Flash-ROM – Geometrie, hier: zwei Bausteine von Intel<br />
– BMON1.0 = Software-Version des Bootloaders, hier: 1.0<br />
So lässt sich das zur jeweiligen D-BOX passende Flash-ROM Image leicht identifizieren. Das ist<br />
vor allem nützlich, wenn bereits mehrere Versionen der Originalsoftware auf der Festplatte<br />
existieren, da diese immer zur jeweiligen D-BOX eines Herstellers passen. Das liegt hauptsächlich<br />
daran, dass der Bootloader auf einer Nokia-DBOX eine geringfügig veränderte Hardware-<br />
Initialisierung vornehmen muss als sein Pendant auf einer Philips-DBOX. Daher bleibt beim<br />
Bespielen des Flash-Speichers einer DBOX mit Linux der Bootloader unangetastet, der sich in den<br />
ersten 128kB (Adresse 0x10000000 - 0x1001FFFF) des Flash-Speichers befindet.<br />
Abbildung 6: Auslesevorgang an serieller Konsole<br />
Wenn der Auslesevorgang erfolgreich beendet wurde, müssen jetzt die Microcodes aus dem<br />
ausgelesenen Speicherabbild des Betanova-Betriebssystems extrahiert werden (ucodes.bin,<br />
avia500.ux, avia600.ux, cam-alpha.bin)
Abbildung 7: Microcodes aus Originalsoftware extrahieren<br />
Abbildung 8: Auslesen der Microcodes erfolgreich
7 Linux-Installation auf der D-BOX<br />
So wie es verschiedene Linux-Distributionen für den Einsatz auf dem PC gibt, werden für die D-<br />
BOX ebenfalls verschiedene Linux-Varianten zum Download angeboten. Diese unterscheiden sich<br />
jedoch weniger im Aussehen der grafischen Oberfläche sondern vielmehr in der Ausstattung. Neben<br />
„offiziellen“ Images (z.B auf www.yadi.org) sind auch solche von einzelnen Privatpersonen zu<br />
finden, welche die Entschlüsselung des Senders Premiere und anderer, nicht deutschsprachiger<br />
Programme auch ohne gültige Smartcard erlauben. Diese Images einhalten eine Software, mit der<br />
das für die Entschlüsselung jeweils benötigte Conditional Access- (CA-) System emuliert werden<br />
kann. In Zusammenhang mit diesen „inoffiziellen (= illegalen)“ Images fällt daher auch häufig der<br />
Name eines australischen Laufvogels. Ohne gültige Schlüssel, um deren Beschaffung sich der<br />
Anwender selbst kümmern muss, bleibt aber auch hier der Bildschirm dunkel.<br />
Nicht nur im Hinblick auf die rechtliche Problematik sondern auch in Sachen Stabilität ist ein<br />
offiziell angebotenes Linux-Image erste Wahl. Daher wurde auch ein Yadi-Image auf der D-BOX<br />
installiert. Es handelt sich hier um eine Release-Version vom Oktober 20<strong>04</strong>. Das Image muss<br />
lediglich entsprechend der Anzahl in der DBOX vorhandenen Flash-ROM's ausgewählt werden.<br />
Z.B. die Datei 20<strong>04</strong>10262111_yadi_squashfs_head_2x.img trägt den Zusatz 2x woraus sich<br />
erkennen lässt, dass diese Image-Datei für zwei Flash-ROM Bausteine auf der Hauptplatine der<br />
DBOX vorgesehen ist.<br />
Anschließend wird im Dbox II Bootmanager die Funktion „Image Flashen“ unter Utilities<br />
ausgewählt. Per Dialogfenster wird die Yadi-Imagedatei ausgewählt. Danach muss die D-BOX neu<br />
gestartet werden. Zunächst startete die D-BOX jedoch nicht mit der ppcboot_writeflash aus dem<br />
Dbox II Bootmanager, sondern startete unerwartet das Betanova-OS im Flash-ROM. Der Fehler war<br />
jedoch anhand der Statusausgaben des Bootloaders im COM-Terminal des Dbox II Bootmanagers<br />
schnell gefunden. Offensichtlich ist der BootP request untergegegangen, da die<br />
Netzwerkverbindung zu diesem Zeitpunkt noch nicht zwischen D-BOX und PC synchronisiert war:<br />
BOOTP/TFTP bootstrap loader (v0.3)<br />
debug: Transmitting BOOTP request via broadcast<br />
debug: Given up BOOTP/TFTP boot<br />
boot net failed<br />
Abbildung 9: Herunterladen des Yadi-Images<br />
Abhilfe konnte geschaffen werden, indem erneut die Funktion „Image flashen“ gewählt wurde und<br />
dieses mal den Bootloader der D-BOX einen erweiterten Systemtest durchführen ließ. Dazu<br />
mussten wie bei einem Reset die „Standby-“ und die „Pfeil-oben“ Taste simultan am Gerät betätigt<br />
werden, bis die LCD-Anzeige an der D-BOX erlischt. Anstatt nun beide Tasten gleichzeitig
loszulassen, wird die „Pfeil-oben“-Taste noch ein bis zwei Sekunden länger gehalten. Nach<br />
Beendigung des Systemtests bleibt der Bootloader mit seiner Eingabeaufforderung stehen. Hier ist<br />
dann boot net [ENTER] einzugeben. Damit wird per BootP und TFTP die PPCBoot<br />
(ppcboot_writeflash) geladen und ausgeführt. Diese PPCboot fordert wiederum per TFTP unsere<br />
Linux-Imagedatei an und übernimmt auch deren Kopieren in den Flash-Speicher der D-BOX. Der<br />
Schreibvorgang soll jetzt detailliert dargestellt werden.<br />
Systemtest gestartet<br />
debug: DDF: Calibrating delay loop... debug: DDF: 67.79 BogoMIPS<br />
debug: BMon V1.0 mID 01<br />
debug: feID dd gtxID 0b<br />
debug: fpID 5a dsID 01-5c.f1.24.07.00.00-01<br />
debug: HWrev X5 SWrev 0.81<br />
debug: B/Ex/Fl(MB) 16/16/08<br />
WATCHDOG reset enabled<br />
debug: &_text 0x10000, &_etext 0x26160, &_data 0x26160, &_edata 0x29c50<br />
debug: &_end 0x347dc, &__stack 0x400000<br />
debug: Memory tests (0x400000 – 0x1000000)<br />
debug: NumberTest: debug: passed<br />
debug: MarchTest: debug: passed<br />
debug: PermTest: debug: passed<br />
debug: Extension Memory tests (0x1000000 – 0x2000000)<br />
debug: NumberTest: debug: passed<br />
debug: MarchTest: debug: passed<br />
debug: PermTest: debug: passed<br />
Systemtest beendet, mit boot net [ENTER] wird gestartet<br />
dbox2:root> boot net[ENTER]<br />
IP-Adresse vom PC beziehen, ppcboot_writeflash laden<br />
debug: BOOTP/TFTP bootstrap loader (v0.3)<br />
debug: Transmitting BOOTP request via broadcast<br />
debug: Got BOOTP reply from Server IP 192.168.0.10, My IP 192.168.0.99<br />
debug: Sending TFTP-request for file<br />
D/_Software/Audio_Video/DBOX/DBoxBootManager/ppcboot_writeflash<br />
Bootloader überprüft ppcboot auf gültige Signatur, Ergebnis wird jedoch nicht berücksichtigt, da<br />
der Bootloader im Debug-Modus ist und ppcboot an 0x40000 wird ausgeführt.<br />
will verify ELF image, start= 0x800000, size= 201596<br />
verify sig: 262<br />
boot net: boot file has no valid signature<br />
Branching to 0x40000<br />
ppcboot 0.6.4 (Apr 11 2002 - 16:10:44)<br />
hier kommen jetzt einige Statusausgaben...<br />
anschließend wird die Imagedatei wiederum per BootP angefordert<br />
dbox2-ppcboot> bootp 120000 /D/_Software/Audio_Video/DBOX/20<strong>04</strong>10262111_yadi_squa<br />
shfs_head_2x.img<br />
BOOTP broadcast 1<br />
TFTP from server 192.168.0.10; our IP address is 192.168.0.99<br />
Filename '/D/_Software/Audio_Video/DBOX/20<strong>04</strong>10262111_yadi_squashfs_head_2x.img'.<br />
Load address: 0x120000<br />
Loading: #.....# done<br />
Software-Schreibschutz des Flash-ROM's wird erst ab 128kB (Adresse 0x10020000) aufgehoben,<br />
damit der Bootloader in jedem Falle geschützt bleibt<br />
dbox2-ppcboot> protect off 10020000 107fffff<br />
...............................................................<br />
Un-Protected 63 sectors
Flash-Rom muss zunächst gelöscht werden, bevor erneutes Schreiben möglich ist.<br />
dbox2-ppcboot> erase 10020000 107fffff<br />
Erase Flash from 0x10020000 to 0x107fffff<br />
sector 66 .... done<br />
Erased 63 sectors<br />
Nun wird das Image im RAM an Offset 0x120000 in das Flash-ROM mit Offset 0x10020000<br />
jeweils in 4Byte-Blöcken kopiert (Der Parameter l in cp.l steht für long). 1F8000 ist Anzahl zu<br />
kopierender Blöcke in Hex. 1F800016 = 2.064.38410 multipliziert mit 4Bytes je Block ergibt<br />
8.257.536Bytes, was genau der Größe der heruntergeladenen Image-Datei ohne Bootloader<br />
entspricht.<br />
dbox2-ppcboot> cp.l 120000 10020000 1F8000<br />
Copy to Flash... done<br />
Abbildung 10: der Bootmanager hat den Schreibvorgang beendet<br />
Ist der Vorgang fertig gestellt, kann die DBOX nun neu gestartet werden und fährt ab sofort mit<br />
Linux und der Bedienoberfläche Neutrino hoch. Jetzt müssen noch die im vorherigen Kapitel<br />
beschriebenen Firmwaredateien (ucodes) auf die DBOX. Nach dem ersten Start mit Linux steht im<br />
LCD-Display die Aufforderung, eine IP-Adresse einzugeben. Diese muss im gleichen Subnetz wie<br />
die IP-Adresse des PCs liegen, damit die Firmwaredateien mit dem Dbox II Bootmanager oder<br />
einem beliebigen FTP-Programm in das Verzeichnis /var/tuxbox/ucodes kopiert werden können.<br />
Abbildung 11: Erster Start der DBOX mit Linux<br />
Abbildung 12: Mit dem Laden der<br />
Microcodes auf die D-BOX ist die<br />
Installation von Linux abgeschlossen<br />
Beim Hochladen der Microcodes meldete der D-BOX II Bootmanager, dass die Prüfsumme der<br />
Datei „cam-alpha.bin“ fehlerhaft sei. Diese Meldung ist falsch. Mit dem Umstieg auf sein neues
Verschlüsselungssystem hat Premiere per Satellit diese Datei aktualisiert. Das Programm erkennt<br />
lediglich die neue Prüfsumme noch nicht und meldet daher den Fehler. Ob die Ucodes erfolgreich<br />
kopiert wurden, lässt sich unter der neuen Benutzeroberfläche feststellen:<br />
„Hauptmenü>>Service>>Ucodes überprüfen“<br />
Damit ist die Installation von Linux auf der DBOX abgeschlossen. Es existieren Anleitungen für die<br />
Benutzeroberfläche Neutrino im Netz z.B. unter http://www.neutrino-anleitung.de. Auf die<br />
Bedienung der Benutzeroberfläche soll im Rahmen des Berichts nicht weiter eingegangen werden.<br />
8 Funktionstest<br />
Abbildung 13: Ucodes wurden erfolgreich eingebunden<br />
Der Test des Fernsehempfanges funktionierte einwandfrei. Hierzu waren leider keine<br />
Bildschirmfotos möglich. Die Umschaltzeiten zwischen einzelnen Programmen lagen ca bei einer<br />
Sekunde gegenüber fünf Sekunden mit dem originalen Betriebssystem Betanova. Zusätzlich sollte<br />
die DBOX ihre Fähigkeit als Streaming Client unter Beweis stellen. Unter Windows wurde mit<br />
Hilfe des Dbox II Bootmanagers ein Verzeichnis als NFS-Freigabe ausgewählt und im lokalen<br />
Netzwerk zur Verfügung gestellt.<br />
Abbildung 14: NFS-Freigabe für die D-BOX<br />
einrichten, Anschließend „Start“ betätigen
Dann wurde die Freigabe in die Netzwerkeinstellungen der D-BOX eingebunden. Die<br />
nachfolgenden Bildschirmfotos zeigen die Konfigurationsschritte.<br />
Abbildung 15: Starten des Audioplayers<br />
Abbildung 16: Der Audioplayer von Neutrino<br />
Mit der Taste „d-box“ auf der Fernbedienung wird ein Menü zum mounten von NFS-<br />
Verzeichnissen eingeblendet. Diese Einstellung ist auch über das Neutrino-Hauptmenü>><br />
Einstellungen>>Netzwerk erreichbar.<br />
Abbildung 17: NFS-Einstellungen<br />
Es lassen sich bis zu acht NFS- oder CIFS-Freigaben einrichten, die durch die D-BOX benutzt<br />
werden sollen. Die folgende Abbildung zeigt die Einstellungen zur Konfiguration der Freigabe.
Abbildung 18: Einrichten der NFS Freigabe auf der D-BOX<br />
Mit der Funktion „Jetzt mounten“ wird die soeben eingerichtete Freigabe eingebunden.<br />
Anschließend kehrten wir zum Audioplayer zurück. Mit der grünen Taste auf der Fernbedienung<br />
fügt man nun Einträge in die Playlist hinzu. Mit der Fernbedienung kann man sich nun durch den<br />
Verzeichnisbaum bewegen. Betätigt man die „OK“-Taste der Fernbedienung auf einem<br />
ausgewählten Verzeichnis, wird dies rekursiv durchsucht.<br />
Abbildung 19: rekursives Durchsuchen von Verzeichnissen<br />
Anschließend sind die Titel in der Playlist vorhanden und können abgespielt werden.
9 Fazit<br />
Abbildung 20: Der Audioplayer in Aktion<br />
Angesichts des Funktionsumfanges und des Bedienkomforts kann Linux auf der DBOX als echte<br />
Alternative zum Betriebssystem Betanova angesehen werden. Die alternative Software für die D-<br />
BOX ist mittlerweile so ausgereift, dass die im c't-Artikel von vor zwei Jahren beschriebenen<br />
Abstürze nicht auftauchten. Unserer Meinung nach gibt es deshalb derzeit keinen Anlaß, das<br />
Betriebssystem Betanova in Zukunft wieder zu verwenden. Zur Fehlersuche vor und nach dem<br />
Umbau in den Debug Modus des Bootmanagers und um die DBOX im Netz als Streaming<br />
Client/Server verwenden zu können, sind jedoch Grundkenntnisse sowohl über Netzwerkprotokolle<br />
als auch über Linux erforderlich.
10 Links<br />
Eine kleine D-BOX II Enzyklopädie (über 400 Artikel), Dokumentationsplattform des GNU DBOX<br />
II Dokumentationsprojektes<br />
http://www.wiki.tuxbox.org<br />
Für jede D-BOX II die passende Debug-Methode, Linux@D-BOX Howto's, kleines Glossar<br />
http://www.dietmar-h.net<br />
Debug-Methode, die bei der uns zur Verfügung stehenden DBOX angewendet wurde<br />
http://www.dietmar-h.net/mhc_debugn2xi.html<br />
D-Box II Bootmanager<br />
http://dbox.feldtech.com<br />
Eine Linux-Distribution für die D-BOX<br />
http://www.yadi.org<br />
z.B. Verschiedene Tools für PC und DBOX werden hier vorgestellt<br />
http://www.dbox2.info<br />
Anleitung für die Benutzeroberfläche Neutrino<br />
http://www.neutrino-anleitung.de<br />
Anhang: c't Artikel<br />
Artikel „Tux-TV“ der Zeitschrift c't, Ausgabe 26, Jahrgang 2002