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