Kleiner Erfahrungsbericht: Anpassen eines Fremdimages

Sammlung von Anleitungen und HowTos für dBox2
RalleO
Neugieriger
Neugieriger
Beiträge: 12
Registriert: Mittwoch 20. Februar 2002, 20:13

Kleiner Erfahrungsbericht: Anpassen eines Fremdimages

Beitrag von RalleO »

Hi,

ich beschäftige mich eigentlich erst seit kurzem mit Linux und dBoxen, aber dabei ist mir der Gedanke gekommen, dass es vielleicht gar keine schlechte Idee wäre, wenn in lockerer Folge einfach auch mal Newbies wie ich ihre Erfahrungen mit bestimmten Verfahren und Problemen schildern. Wir sind dabei vielleicht über Dinge gestolpert, die den Profis so gar nicht mehr auffallen und die sich dann auch nicht detailliert in den FAQs und How-Tos finden, und wir haben dabei vielleicht Workarounds gefunden, die nicht immer sehr elegant sein mögen, aber anderen Neulingen an der entscheidenden Stelle auf die Sprünge helfen. Ich würde mich freuen, wenn die Profis auf etwaige Fehler, Ungeschicklichkeiten und Ungenauigkeiten hinweisen würden und vielleicht Verbesserungsmöglichkeiten nennen könnten, so dass so ein Newbie-How-To über einen längeren Zeitraum immer mehr verfeinert wird.

Ich mache also mal den Anfang. Stellt Euch vor, Ihr besitzt wie ich 2 baugleiche dBoxen, die beide in den Debug-Modus gebracht wurden. Bei Box Nr. 1 ist Euch beim Debug-Enablen das Original-BR-Image verloren gegangen bzw. der böse Techniker, der das vielleicht für Euch erledigt hat, hat den Original-Flashinhalt nicht gesichert oder rückt ihn nicht mehr raus.

Ihr möchtet Euch aber die Möglichkeit erhalten, bei Bedarf Box Nr. 1 wieder in den Original-Zustand zu versetzen (z.B. weil PW der Software in einem Update interessante Funktionen hinzugefügt hat, die Ihr mal ausprobieren wollt). Kein Problem, denkt Ihr, ich habe doch immerhin das Original-Image von Box 2, das flashe ich mir jetzt einfach auf Box Nr. 1 (Ich gehe jetzt mal davon aus, dass das legal ist, immerhin ist es direkt von Hardware gezogen, die sich in Eurem Besitz befindet, Ihr habt das Image ja nicht irgendwo aus dem Internet gefischt oder wollt es weiter verbreiten! Sicher bin ich mir da aber nicht.).

Leider muss das Image der Box Nr. 2 an Box Nr. 1 angepasst werden, einfach Übertragen geht nicht. Im Folgenden schildere ich mal meinen beschwerlichen Weg zum Erfolg, wobei ich darauf hinweisen möchte, dass ich - wie gesagt - Anfänger bin und mir noch viel Hintergrundwissen fehlt und dass die Infos in dieser Beschreibung natürlich nicht auf meinem Mist gewachsen sind, sondern von mir nur aus Beiträgen in diesem und anderen Foren und FAQs zusammengetragen wurden (hauptsächlich aus
der readme.txt von Field).

Voraussetzungen:
- dBox Nr. 1 ist im Debug-Mode.
- Es besteht eine funktionierende Netzwerkverbindung zwischen Box
und Rechner.
- Box und Rechner sind mit einem Nullmodem-Kabel verbunden.
- Das BR-Fremdimage ist von einer baugleichen dBox gezogen,
d.h., beide Boxen haben z.B. nur 1 Flashbaustein. (Die Marke
ist dann, glaube ich, egal).
Falls es mit einem der genannten Punkte hapert, findet Ihr
viele Infos darüber im Forum.

Jetzt geht's los.

1. Aktuelle "yadd.tar.gz" besorgen, z.B. unter

http://dbox.cyberphoria.org/files/yadd.tar.gz

2. "UNTAR UTILS" besorgen, z.B. unter

http://www.dbox.feldtech.com/downloads/untar_utils.zip

Utils in dasselbe Verzeichnis wie "yadd.tar.gz" entpacken, dann damit "yadd.tar.gz" entpacken (Befehle: "gunzip yadd.tar.gz" und
"tar -xvf yadd.tar")

Dann entpackte Verzeichnisse "CDKROOT" und "TFTPBOOT" nach C:\ unterhalb des Wurzelverzeichnisses kopieren.

3. Boot-Manager besorgen, z.B unter

http://www.dbox.feldtech.com/downloads/ ... oxboot.exe

und installieren. Für die folgenden Punkte wird angenommen, dass der Manager nach C:\PROGRAMME\DBoxBoot installiert wurde.

4. Fremdes Image nach nach C:\TFTPBOOT\ kopieren und umbenennen in "13.img".

5. Verzeichnis C:\ROOT anlegen, dort hinein die Datei "cp.class" aus
C:\PROGRAMME\DBOXBOOT kopieren.

6. Boot-Manager starten, um fremdes Image zu flashen. Dazu auf der
Seite "Settings"
- IP der dbox eintragen
- RARP-Server aus
- COM-Port Öffnen an
- BootP-Server ein, c:\tftpboot\ppcboot als Bootfile auswählen
- NFS-Server aus
Jetzt NICHT "Start" drücken, sondern auf die "Utils"-Seite wechseln. Dort auf "Image flashen" klicken, Datei "13.img" als Image auswählen.

7. Box ans Stromnetz, wird jetzt geflasht (Meldung im Display "Flashing..."). Flash ist fertig, wenn Meldung "Flashing done" erscheint. Im Boot-Manager auf Seite "Settings" wechseln, "Stop" anklicken. Boot-Manager verlassen. Box vom Stromnetz nehmen und gleich wieder einstöpseln.

8. Beim Ladevorgang erscheint im Display der Box die Meldung:
"Fehlercode: UC0".
Das bedeutet, dass das Image noch nicht an unsere Box angepasst ist. Dafür ist die Datei .DID verantwortlich. Man kann sich dieses File wohl über die Option ".did herstellen" auf der Seite "BN-Utils" des Boot-Managers besorgen, bei mir hat das irgendwie nicht geklappt, deshalb habe ich das Ganze "zu Fuß" erledigt. Wir notieren uns dazu beim nächsten Booten die 8-stellige persönliche ID-Nr. der Box, die im Display hinter dsID-Nr. erscheint, z.B. 01-02.03.04.05.06.07-8b.

9. Die dsID besteht aus 8 Bytes, die hier im Hexadezimalsystem codiert sind. Jeder der 8 Werte muss EINZELN mit hexadezimal FF exklusiv-oderiert werden. Dazu starten wir z.B. den Windows-Taschenrechner, schalten unter "Ansicht" auf "wissenschaftlich", aktivieren als Zahlensystem "Hex", geben nacheinander die 8 Stellen unserer ID ein, klicken dann jeweils auf "XOR", geben FF ein und betätigen das Gleichheitszeichen. Den Ergebniswert notieren wir jeweils.
Beispiel: Eingabe 01
Taste "XOR"
Eingabe FF
Taste "="
Ergebnis FE notieren
Eingabe 02
Taste "XOR"
Eingabe FF
usw.

10. Wir nehmen uns einen Hex-Editor, z.B. Nitro-Hex, den man unter
http://www.shareware.de/software/downlo ... _2824.html

herunterladen kann. Wir installieren und starten den Hex-Editor und geben im Arbeitsbereich unsere errechneten Werte ein. Wir erzeugen am Ende der Zeile KEINEN Zeilenumbruch, sondern speichern die Eingaben sofort ab, z.B. unter dem Namen "temp.did". Alternativ kann man die Schritte 9 und 10 auch über das Applet unter
http://dbox2.elxsi.de/dsid.php
abwickeln.

11. Die Did-Datei muss nun für Linux von "temp.did" in ".DID" umbenannt werden. Unter Windows geht das nicht, unter DOS soll es wohl funktionieren, hat bei mir aber auch nicht geklappt. Also speziellen Renamer
http://www.albert.nu/programs/renamer/renamer.exe
downloaden und damit "temp.did" entsprechend umbenennen. Das Umbenennen soll auch mit einem ftp-client funktionieren, habe ich aber nicht probiert. Jetzt kopieren wir die umbenannte ".DID" ins Verzeichnis C:\ROOT.

12. Da wir im nächsten Schritt von einem gepatchten Kernel booten müssen, holen wir uns zunächst das Original aus dem Image. Dazu starten wir den Boot-Manager, wechseln auf die Seite "BN-Utils" und klicken auf "Dateien extrahieren". Wir wählen dann das Fremdimage aus folgen den weiteren Anweisungen. Nun sollte u.a. eine Datei "os" vorliegen. Diese passen wir an, indem wir auf der Seite "BN-Utils" des Boot-Managers den Button "BR Kernel (os) patchen" anklicken und den extrahierten Kernel auswählen.

13. Jetzt wechselt Ihr auf die Seite "Settings" im Boot-Manager und schaltet
- BootP ein. Als Boot-File wählt Ihr den gerade gepatchten Kernel "os_gepatcht".
- NFS wird eingeschaltet, NFS-Root ist da, wo die cp.class liegt, also bei uns C:\ROOT.
- RARP einschalten.
- "Start"-Button drücken.

14. Jetzt die DBox einstöpseln und sobald im Display "Lade ..." erscheint, auf die Seite "RSH-Client" wechseln. Unten in die Befehlseingabezeile links neben "Send Cmd" den Befehl "mount" eingeben. Als Antwort sollte
"root_device mount on / (flfs)"
erscheinen. Jetzt auf den Button "Execute Script" klicken und die Datei "copy_did.txt" aus dem Boot-Manager-Verzeichnis auswählen.

So, wenn ich nichts vergessen habe, sollte es jetzt eigentlich hell werden, war bei mir jedenfalls so.

Ich hoffe, dass das für den einen oder anderen hilfreich war.

Gruß
Ralle
Zuletzt geändert von RalleO am Donnerstag 28. Februar 2002, 18:52, insgesamt 1-mal geändert.
derget
Contributor
Beiträge: 1608
Registriert: Samstag 28. Juli 2001, 00:00

Beitrag von derget »

coole Anleitung :)

danke
biglui
Einsteiger
Einsteiger
Beiträge: 200
Registriert: Montag 29. Oktober 2001, 00:00

Beitrag von biglui »

jo,echt cool, weiter so und schreibe mehr anleitungen, dann sind hier bald keine standart fragen mehr 8)
Gruss
BiGLuI
aaalexxxrm1
Interessierter
Interessierter
Beiträge: 85
Registriert: Mittwoch 27. Februar 2002, 15:36

Beitrag von aaalexxxrm1 »

Bleibt noch für den Internetanfänger, dass URLs meistens klein geschrieben werden.

In diesem Fall:

HTTP://DBOX.CYBERPHORIA.ORG/FILES/YADD.TAR.GZ

wird (auf jeden Fall von meinem IE6) nicht gefunden, während

http://dbox.cyberphoria.org/files/yadd.tar.gz

schon gefunden wird.

Also einfach alles klein schreiben und der Beitrag ist perfekt :)

aaalexxx
RalleO
Neugieriger
Neugieriger
Beiträge: 12
Registriert: Mittwoch 20. Februar 2002, 20:13

Beitrag von RalleO »

Hoppla, das war mir gar nicht aufgefallen.
Ich habe meinen Beitrag jetzt entsprechend editiert.
Vielen Dank, aaalexxx!

Gruß
Ralle
aaalexxxrm1
Interessierter
Interessierter
Beiträge: 85
Registriert: Mittwoch 27. Februar 2002, 15:36

Beitrag von aaalexxxrm1 »

null problemo :) ich find's ja toll, dass du dir die mühe gemacht hast. hab nur leider keine br soft zum flashen, aber das ist eine andere geschichte und die soll ein andermal erzählt werden *l*
Jokel123
Interessierter
Interessierter
Beiträge: 22
Registriert: Freitag 4. Januar 2002, 07:19

Beitrag von Jokel123 »

Hallo,
super Leistung . Ne Anleitung die auch zuverstehen ist :)))
Kennst du dich vieleicht aucch mit Image herstellen aus ???
Wuerde ja selbst was dazu schreiben , nur die Infos sind sehr mager oder ich hab nicht genug Wissen .
Bis dann
Belgarad
Einsteiger
Einsteiger
Beiträge: 182
Registriert: Donnerstag 1. November 2001, 00:00

Beitrag von Belgarad »

Tolle Arbeit :D

Ich weiss aus eigener Erfahrung dass das Schreiben deutlich laenger dauert als das Lesen :-)
lude-zuhaelter
Interessierter
Interessierter
Beiträge: 42
Registriert: Mittwoch 31. Oktober 2001, 00:00

Beitrag von lude-zuhaelter »

@Ralle0:
Eine Sache habe ich noch festgestellt: mit dem Min...., was so im Netz erhältlich ist, kann man meistens die .did nicht zurückkopieren. Da hilft dann nichts- ein neueres OS muss dann gepatched werden, damit die .did zurückkopiert werden kann. Mit Linux hat man da weniger Probs- das geht so...
schmalzz
Einsteiger
Einsteiger
Beiträge: 185
Registriert: Mittwoch 19. September 2001, 00:00

Beitrag von schmalzz »

Super Anleitung!

Um .did Datei herzustellen könnt ihr auch mein Tool mal
testen: http://people.freenet.de/schmalzz.

Dann braucht ihr keinen Taschenrechner und auch keinen Hexeditor!
ViennaAustria
Neugieriger
Neugieriger
Beiträge: 3
Registriert: Dienstag 8. April 2003, 22:54

Beitrag von ViennaAustria »

Hallo, Ralleo!

Danke für die ausführliche Anleitung, aber ich schaffe es trotzdem nicht, die .did in meine Box hineinzuwerkeln.

Ich habe eine Sagem und hatte Linux darauf. Da ich Premiere ganz offiziell abonniert habe, möchte ich die neuen Smartcards mit der Originalsoftware testen. Ich habe mir also ein Sagem 2xI Image geholt und es geflasht. Es kommt zum "Fehlercode: UC0".

Wenn ich Deine Anleitung Schritt für Schritt abarbeite, passiert aber folgendes:

Code: Alles auswählen

> setenv PATH /root/platform/bin:/root/bin:/usr/bin:/usr/siege/bin:/mnt/bin
> setenv TZ MET-01METDST-02,J84,J302
> setenv LD_LIBRARY_PATH /root/platform/lib:/root/lib:/usr/lib:/root/platform/mpc8xx-dbox2/lib:/root/platform/nokia-dbox2/lib
> setenv SIEGEHOME /usr/siege
> setenv CLASSPATH /usr/siege/lib/siege.jar:/usr/siege/lib/junior.jar:.:/lost+found/
> mount 10.10.11.12:C/Programme/DBoxBoot/ /lost+found
C_INIT: mount 10.10.11.12:C/Programme/DBoxBoot/ on /lost+found
> arun siegep cp /lost+found/.did /var/upgrade/.did
started aid = 10
java.lang.ClassFormatError: 
	at java.lang.Throwable.<init>(Ljava/lang/String;)V(:0xd)
	at java.lang.Error.<init>(Ljava/lang/String;)V(:0x5)
	at java.lang.LinkageError.<init>(Ljava/lang/String;)V(:0x5)
	at java.lang.ClassFormatError.<init>(Ljava/lang/String;)V(:0x5)
	at java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;(:0x42)
	at siege.security.GenericClassLoader.loadClassBytes(Ljava/lang/String;Ljava/lang/String;Lsiege/security/GenericClassLoader$SizedInputStream;)Ljava/lang/Class;(:0x94)
	at siege.security.GenericClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(:0x63)
	at java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(:0x2f)
	at siege.security.GenericClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(:0x6)
	at java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;(:0x6)
	at siege.security.BootStrap.main(Ljava/lang/String;[Ljava/lang/String;)V(:0x97)
;
;
;
; Wenn keine Fehler aufgetreten sind, wurde .did kopiert!
Der "Fehlercode: UC0" bleibt. Hast'ne Idee, was ich falsch mache?

Danke!
Frockert
Erleuchteter
Erleuchteter
Beiträge: 865
Registriert: Dienstag 12. März 2002, 21:40

Beitrag von Frockert »

ViennaAustria hat geschrieben:Hallo, Ralleo!

Danke für die ausführliche Anleitung, aber ich schaffe es trotzdem nicht, die .did in meine Box hineinzuwerkeln.

Ich habe eine Sagem und hatte Linux darauf. Da ich Premiere ganz offiziell abonniert habe, möchte ich die neuen Smartcards mit der Originalsoftware testen. Ich habe mir also ein Sagem 2xI Image geholt und es geflasht. Es kommt zum "Fehlercode: UC0".

Wenn ich Deine Anleitung Schritt für Schritt abarbeite, passiert aber folgendes:

Code: Alles auswählen

> setenv PATH /root/platform/bin:/root/bin:/usr/bin:/usr/siege/bin:/mnt/bin
> setenv TZ MET-01METDST-02,J84,J302
> setenv LD_LIBRARY_PATH /root/platform/lib:/root/lib:/usr/lib:/root/platform/mpc8xx-dbox2/lib:/root/platform/nokia-dbox2/lib
> setenv SIEGEHOME /usr/siege
> setenv CLASSPATH /usr/siege/lib/siege.jar:/usr/siege/lib/junior.jar:.:/lost+found/
> mount 10.10.11.12:C/Programme/DBoxBoot/ /lost+found
C_INIT: mount 10.10.11.12:C/Programme/DBoxBoot/ on /lost+found
> arun siegep cp /lost+found/.did /var/upgrade/.did
started aid = 10
java.lang.ClassFormatError: 
	at java.lang.Throwable.<init>(Ljava/lang/String;)V(:0xd)
	at java.lang.Error.<init>(Ljava/lang/String;)V(:0x5)
	at java.lang.LinkageError.<init>(Ljava/lang/String;)V(:0x5)
	at java.lang.ClassFormatError.<init>(Ljava/lang/String;)V(:0x5)
	at java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;(:0x42)
	at siege.security.GenericClassLoader.loadClassBytes(Ljava/lang/String;Ljava/lang/String;Lsiege/security/GenericClassLoader$SizedInputStream;)Ljava/lang/Class;(:0x94)
	at siege.security.GenericClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(:0x63)
	at java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(:0x2f)
	at siege.security.GenericClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(:0x6)
	at java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;(:0x6)
	at siege.security.BootStrap.main(Ljava/lang/String;[Ljava/lang/String;)V(:0x97)
;
;
;
; Wenn keine Fehler aufgetreten sind, wurde .did kopiert!
Der "Fehlercode: UC0" bleibt. Hast'ne Idee, was ich falsch mache?

Danke!
deine .did ist nicht in ordnung.
wie erstellt? nochmal probieren?

Gruß Frockert
---------------------------
2.6.11-kanotix-3 KDE 3.3.2
http://www.frockert.de
http://www.eifel-forum.de
Zahni
Tuxboxer
Tuxboxer
Beiträge: 2227
Registriert: Freitag 24. Mai 2002, 10:38

Beitrag von Zahni »

Da passt wohl der gepachte BN-Kernel "OS" nicht zum BN-Image. Muss die gleiche Version sein.

-Zahni
Für den IE:

<html>
<form>
<input type crash>
</form>
</html>
werdie
Neugieriger
Neugieriger
Beiträge: 17
Registriert: Donnerstag 10. Oktober 2002, 19:12

Population=2

Beitrag von werdie »

Ich habe es auch genaus gemacht jetzt kommt nicht mehr der Fehler UC01 sonder ich sehe auf dem Bildschirm Herzlich Wilkommen und auf dem Display Premiere darunter Population=2 ansonsten passiert nichts.
aaalexxxrm1
Interessierter
Interessierter
Beiträge: 85
Registriert: Mittwoch 27. Februar 2002, 15:36

Beitrag von aaalexxxrm1 »

Population=2 bedeutet - soweit ich weiß - nur, dass diese Version nicht für den Endanwender bestimmt ist. Die d-box holt sich normalerweise eigentlich die Population=1. Warte doch einfach mal eine Viertelstunde (oder wie lange die BN sonst so zum hochfahren braucht :o ), gehts nicht doch?
nokia kabel, 2*intel, avia500, bmon1.0

P.S. Never eat yellow snow! :o
Zahni
Tuxboxer
Tuxboxer
Beiträge: 2227
Registriert: Freitag 24. Mai 2002, 10:38

Beitrag von Zahni »

Pop2 wird nicht mehr gesendet (Siehe Enigma) . Daher ist dort kein Update möglich. Bitte anderes Image suchen.

-Zahni
Für den IE:

<html>
<form>
<input type crash>
</form>
</html>
werdie
Neugieriger
Neugieriger
Beiträge: 17
Registriert: Donnerstag 10. Oktober 2002, 19:12

Pop 2

Beitrag von werdie »

Also erstmal vielen Dank für die Antworten
Ich habe jetzt eine 1/2 Stunde gewartet aber es steht immer noch Population =2 drin und mit dem Flashen eines neuen anderen Images habe ich auch Probleme da er nicht flashed sondern bis zu Poppulation=2 hochfährt obwohl der dboxmanager gestartet ist
ydebug: DDF: Calibrating delay loop... debug: DDF: 67.79 BogoMIPS
debug: BMon V1.2 mID 01
debug: feID dd gtxID 0b
debug: fpID 5a dsID 01-e2.59.80.07.00.00-bf
debug: HWrev 09 FPrev 0.81
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Given up BOOTP/TFTP boot
boot net failed

Flash-FS bootstrap loader (v1.5)

Found Flash-FS superblock version 3.1
File /root/platform/nokia-dbox2/kernel/os not found: No such file or directory
boot flash /root/platform/nokia-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Found Flash-FS superblock version 3.1
File /root/platform/mpc8xx-dbox2/kernel/os not found: No such file or directory
boot flash /root/platform/mpc8xx-dbox2/kernel/os failed

Flash-FS bootstrap loader (v1.5)

Found Flash-FS superblock version 3.1
Found file /root/platform/kernel/os in Flash-FS
debug: Got Block #0052

will verify ELF image, start= 0x800000, size= 1267512
verify sig: 0
Branching to 0x409b8
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

There are 10 types of people in the world: those who know binary and those who don't