DBox-Debug-Mode-HOWTO
von dridders
v1.00, 30.12.00
Hier wird beschrieben, wie man die DBox2 von Betaresearch (hergestellt
durch Nokia, Sagem und Philips) in den Debug-Mode schaltet, so dass
der Bootloader auch nicht signierte Dateien laedt (und man somit einen
Linux-Kernel auf der Box starten kann).
______________________________________________________________________
Inhaltsverzeichnis
1. Informationsquellen / Feedback
2. Voraussetzungen
3. Die Prozedur
______________________________________________________________________
1. Informationsquellen / Feedback
----------------------------------
Bis jetzt gibt es leider noch nicht sehr viele Infos ueber die DBox2
im Netz. Folgendes hab ich bis jetzt gefunden:
1.)
http://dbox.elxsi.de - Die Hauptseite
2.) IRC: im IrcNet im Channel #dbox2 ist fast immer jemand zu finden,
der zumindest etwas Ahnung hat. Als Server koennt ihr z.B.
ircnet.irc.fu-berlin.de benutzen.
3.)
http://64.65.58.118/hgw/cgi-bin/Ultimate.cgi - Hier auf dem
Board gibts eine Seite zur Software-Entwicklung fuer die Box.
4.)
http://www.mvista.com - Hier bekommt ihr das CDK, das bei der
Entwicklung der Soft fuer die Box hilft
5.)
http://members-proxy-1.mmbrprxy.home.ne ... inux/cross
Eine kleine Anleitung, wie ihr die wichtigsten Programme
kompilieren muesst (gcc, binutils, glibc,...)
6.) EMail:
dbox2-help@gmx.de
2. Voraussetzungen
-------------------
1.) Ein installiertes Linux. Wer bis jetzt noch kein Linux drauf hat,
sollte sich zuerst mal z.B. eine SuSE oder eine andere Distribution
holen und damit vertraut machen.
2.) Bootpd oder Dhcpd
Hierueber erhaelt der Bootloader der Box (und spaeter der Linux-
Kernel) eine IP-Adresse. Ausserdem wird ihm damit mitgeteilt,
welche Datei er booten soll.
Beispiel /etc/bootptab:
-------------------------------------------------------------------------
dbox:bf=/tftpboot/os:ha=<MAC-ADRESSE-DER-BOX>:ip=<IP-DER-BOX>:
sa=<IP-ADRESSE-DES-LINUX-RECHNERS>
-------------------------------------------------------------------------
Die Mac-Adresse der Box steht hinten auf einem Aufkleber (6 Hex-Byte,
durch - oder : getrennt). Die muesst ihr ohne - und : bei ha=
einsetzen.
Beispiel /etc/dhcpd.conf:
-------------------------------------------------------------------------
subnet 192.168.1.0 netmask 255.255.255.0 {
}
host dbox {
fixed-address <IP-DER-BOX>;
hardware ethernet <MAC-ADRESSE-DER-BOX-MIT-:-GETRENNT>;
allow bootp;
server-name <IP-DES-LINUX-RECHNERS>;
filename "os";
}
-------------------------------------------------------------------------
Jetzt nur noch darauf achten, dass der bootpd oder dhcpd auch
gestartet wird. Bei bootpd geht dies vielfach ueber die /etc/inetd.conf
bei dhcpd ueber ein passendes Script in /etc/rc.d/init.d. Je nach
Distribution. Bei bootpd sieht der Eintrag meistens so aus:
bootps dgram udp wait root /usr/sbin/tcpd bootpd
3.) /etc/hosts
Jetzt tragt ihr die Box in die /etc/hosts ein:
<IP-ADRESSE-DER-BOX> dbox
4.) RARP
Hierueber bekommt der BR-Kernel seine IP-Adresse. Macht einfach diese
Eingabe:
rarp -s dbox <MAC-ADRESSE-DER-BOX-MIT-:-GETRENNT>
5.) tftpboot
Hierfuer muesst ihr den tftpd installiert haben. Dieser wird ueber
die /etc/inetd.conf gestartet, der Eintrag sollte etwa so aussehen:
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
Danach legt ihr ein Verzeichnis /tftpboot an.
6.) nfs
Ausserdem wird zum Starten ein NFS-Server benoetigt. Dieser sollte
bei den meistens Distris schon installiert sein. Nur noch folgenden
Eintrag in die /etc/exports einfuegen:
/dbox dbox(rw,no_root_squash)
und das Verzeichnis /dbox anlegen.
7.) minflsh.tar.gt
Besorgt euch dieses File: <LINK>minflsh.tar.gz
und entpackt es. Den Inhalt des Verzeichnisses minflsh, dass jetzt
entstanden ist verschiebt ihr nach /dbox. Die Datei /dbox/kernel/os
kopiert ihr dann nach /tftpboot.
Jetzt muesst ihr noch die Datei /dbox/do bearbeiten. In der Zeile
umount -F /
muesst ihr das -F entfernen.
3. Die Prozedur
---------------
1.) Verbindet die Box via Netzwerk mit dem Linux-Rechner. Am Besten klemmt
ihr die Box auch gleich via Nullmodemkabel an ein Terminalprogramm
(Einstellung: 57600, 8N1, Kein Protokoll/Handshaking).
2.) Box in den Strom stecken
3.) Die Box sollte jetzt bei "Lade..." stehen bleiben. Wenn Sie "Starte Vxxx"
anzeigt ist irgendwas schiefgelaufen, kontrolliert dann nochmal oben die
Schritte.
4.) Wenn ihr
rsh dbox help
eingebt sollte ein kleiner Hilfetext erscheinen. Ansonsten nochmal alles
kontrollieren.
5.) Box aufschrauben. Fuer die hinteren Schrauben geht ein normaler Torx
T-10. Fuer die seitlichen Schrauben braucht ihr theoretisch einen
Spezial-Torx.
Es geht aber auch anders.

Wen die Garantie nicht interessiert, fuer den gehen folgende
Moeglichkeiten:
a) Die Schrauben einfach mit einer Zange rausdrehen
b) einen Phasenpruefer verkantet ansetzen und damit die Schrauben
rausholen
c) es soll auch mit Uhrmacherschraubenziehern gehen
b) die Nippel in der Mitte lassen sich wohl auch rausbrechen. Danach
geht das Schrauben dann auch einfacher.
Wer lieber die Box nochmal unbeschaedigt zu kriegen will, kann folgendes
probieren:
a) passenden Schraubenzieher besorgen. Gibts bei verschiedenen Spezial-
Geschaeften, ist der gleiche wie bei der DBox1.
b) Einen normalen Torx nehmen, und in die Mitte ein passendes Loch
bohren.
Die Box hat zwar eigentlich nur 5 statt 6 Ecken, aber es soll trotzdem
gehen.
c) Einem Phasenpruefer einen Schlitz in die Mitte feilen. Damit gehts
dann wenn man vorsichtig ist auch ohne Spuren.
6.) Jetzt die Box wieder vom Strom trennen, und die Jumper XH4 und XH6
bruecken. Bei den meisten neueren Boxen sind hier leider keine Jumper
mehr eingeloetet, sondern nur noch Loetpunkte. Diese beiden Loetpunkte
einfach mit einem Kabel verbinden (Kabel anloeten).
7.) Die Box wieder einstecken, und warten bis sie das Lade... anzeigt.
8.) Folgendes eingeben:
/dbox/do dbox <IP-DES-LINUX-RECHNERS>:/dbox
und dann das Terminal-Programm beobachten.
9.) Die Box vom Strom trennen und die Jumper entfernen.
10.) So, eure Box sollte jetzt im Debug-Mode sein. Erkennen koennt ihr das
daran, dass die Box beim Starten jetzt einige Infos ueber den Bootloader
ausgibt.
11.) besorgt euch ppcboot und den linuxkernel und den ganzen anderen Kram,
und setzt diese Howto fort.