did tauschen

Wie blitze ich ein Bild - Permanent Outgoing Incomes
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

did tauschen

Beitrag von saruman »

Ich verweise mal auf den Thread hier http://forum.tuxbox-cvs.sourceforge.net ... highlight= und mache, da sich das Thema ein wenig vom ursprünglichen Thread entfernt hat, mal diesen hier auf.

Also für mich geht es darum, wie ich auf meiner alten DBox nach Einspielen eines Original-BN Images (leider nicht von meiner Box, das ist ja damals von mir geschrottet worden :roll:) die did tauschen kann.

Das Problem ist halt dass ich keinen Windows-Rechner zuhause habe und deswegen auch nicht den DBox II BootManager von Field (oder seinen Nachkommen :)) bemühen kann.

Daher stellt sich für mich die Frage:

Was genau muss ich tun, um mit 'ner Linux-Kiste den Kernel zu patchen, wieder einzuspielen und dann die did zu tauschen? Das BN-Image habe ich schon auf der Box, kriege halt jetzt nur 'nen UC0.

Ich meine: Was genau macht der BootManager da? :gruebel:

Wenn ich die Schritte mal erklärt kriege, dann will ich sie auch gerne dokumentieren und ins Wiki stellen.

Aber ich kann mir einfach nicht vorstellen, dass hier alle nur per BootManager unter Windows flashen und das Wissen um die genauen Vorgänge seit Fields Abtreten verlorengegangen ist. :wink:
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Schau Dir einfach die copy_did.txt vom Bootmanager an :)

Code: Alles auswählen

:check mount !Die DBox hat ihr Filesystem nicht gemount! Wahrscheinlich wird ein falscher BR-Kernel verwendet (zB der aus dem minflsh.tar haut meistens nicht hin)
:exists .did !Die zu kopierende Datei .did befindet sich nicht im NFS-Root-Verzeichnis!
:exists cp.class !Die zum Kopieren notwendige Datei cp.class befindet sich nicht im NFS-Root-Verzeichnis!
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 %host_ip%:%nfsroot% /lost+found
arun siegep cp /lost+found/.did /var/upgrade/.did
;
;
;
; Wenn keine Fehler aufgetreten sind, wurde .did kopiert!
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Dazu hätt ich ja einen haben müssen. ;-)

Kannst Du mir einen Gefallen tun und den installierten Bootmanager mal mit zip oder sonstwie zusammenpacken und zum Download zur Verfügung stellen? Dann packe ich den bei mir aus, habe alle möglichen und unmöglichen Scripte (ich meine es hätten da eine ganze Menge Scripte gelegen) bei mir und muss dann nur noch den Kram irgendwie ans Laufen bringen und dokumentieren... Das wär klasse! :D

Edit: Alternativ kann ich Dir auch fix einen FTP-Upload bauen...

Okay, welche Knöpfe man im Bootmanager drücken muss um die did zu tauschen steht ja im Wiki ausführlich beschrieben. Aber leider bin ich ja noch nicht soweit, dass ich die copy_did.txt ausführen kann. Wenn ich das Wiki richtig verstehe, brauche ich doch erst die os_patched, also den gepatchten Kernel.

Daher: Welche Funktionen/Scripte werden zum Beispiel beim Auslesen der uCodes aus dem BR-Image mit den BN-Utils aufgerufen? Was genau ruft der Bootmanager beim Klicken auf "br-kernel (os) patchen" auf?

Und vor allem: Um dann den gepatchen Kernel zu Booten brauche ich anscheinend das ganze Filesystem aus der Box. Ist das richtig? Und falls ja: Wie genau lese ich das aus, damit ich dann dort den gepatchten Kernel und die cp.class wieder reinlegen und booten kann?

Fragen über Fragen, ich weiß. Aber ich versuch's ja nur zu kapieren. :-)
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

http://dbox.feldtech.com/
http://www.dietmar-h.net/
Eigentlich sollten alle Infos aus dem Wiki und dieser beiden Seiten reichen.
Os_gepatcht mußt Du selbst erstellen, wie steht doch ausführlich beschrieben.
cu
Jens
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Wie gesagt: Ich hab nur noch Linux bei mir laufen, das Windows-Geraffel ist komplett rausgeflogen. ;-)

Ansonsten bräuchte ich ja nicht zu fragen welche Funktionen/Scripts bei den Klicks auf den einzelnen Buttons ausgeführt werden. Dann hätte ich den Bootmanager alles machen lassen und wär ruhig gewesen. :-)

Und ich hab's schon versucht: Das setup_dboxboot.exe kann ich weder mit unzip, noch cabextract, noch unrar oder sonstigen Entpackern auspacken.
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Ui, im Wiki gibts ja die alte Derget-Anleitung noch: http://wiki.tuxbox-cvs.sourceforge.net/ ... urzschluss

Das Rauskopieren der Software war Bestandteil des Debug-Enable. Mit einer gepatchten os funktioniert das aber auch ohne erneuten HW-Eingriff (copy_all.txt).

Um eine gepatche "os" zu erhalten mit einem Hex-Editor nach "/root/platform/etc/rc.classic" suchen und z.B. "rc.classix" draus machen. So findet die Box kein Inti-Script und bleibt mit offenem RSH stehen. Da die Checksumme nicht mehr stimmt, funktioniert diese os auch nur mit Boxen im Debug-Modus.

Die .did kannst Du z.B. auch mit http://forum.tuxbox-cvs.sourceforge.net/forum/dsID.php erzeugen lassen, ist nur ein Hex-File in dem die dsID mit FF "geXORt" wird.

Eine ältere Version vom Bootmanager (hier noch als ZIP-File, kein Installer) kann ich Dir zukommen lassen - sag mir nur wohin :)
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Per PN an Dich gegangen. :-)

Das heisst: Wenn ich die Software damals nicht rauskopiert habe weil ich das Dingen mit der Kurzschlußmethode geschrottet habe, habe ich eh keine Chance?

Oder reicht es, wenn ich mir das fremde Image auch ohne richtige did einspiele und dann versuche die Software auszulesen? Aus dem Image extrahieren kann man die wohl nicht, oder?

Habe auch gestern noch mal versucht, mein altes BN-Image einzuspielen. Kriege aber nur "Kein System". Ist wohl hinüber...
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Zum Booten mit RSH (os gepatcht) ist die richtige .did nicht erforderlich - wie sollte das auch sonst funktionieren? ;)
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Hier ist'n Päckchen für mich. ;-) Danke!

Nein, ich war etwas verunsichert weil Du schriebst
Das Rauskopieren der Software war Bestandteil des Debug-Enable. Mit einer gepatchten os funktioniert das aber auch ohne erneuten HW-Eingriff (copy_all.txt).
Ich hatte mir damals keine Software rauskopieren können weil ich die Software ja irgendwie gebügelt habe. Frag mich nicht wie. Und einen Schreibschutz - daran erinnere ich mich noch - hatte die damals auch nicht. Ich hab dann einfach ein anderes Image (damals noch AlexW) draufgebügelt und gut war's. :-)

Gut, wenn ich das alles richtig gelesen habe, dann muss ich also jetzt aus dem BN-Image, welches nicht zu meiner Box passt, einen gepatchten Kernel erstellen, dann den booten und einfach die did mit copy_did.txt tauschen?

Oder erst den Kernel patchen, den dann booten, dann mit copy_all das Filesystem auslesen und anschliessend mit copy_did die did austauschen?
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Sorry, wer lesen kann ist klar im Vorteil. Ich glaube ich habe es:

- Files aus dem Image auslesen
- mit dem Hexeditor eine gepatchte os_patched herstellen
- os_patched booten
- Filesystem auslesen (copy_all)
- did aus der dsID erstellen und ins NFS-Root legen
- copy_did

Ich glaube das ist es. Mal ausprobieren... Melde mich, sobald ich was Neues habe.
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Hmmm, da ist noch ein Denkfehler drin: Wie genau komme ich denn jetzt überhaupt an den Kernel dran? Normalerweise extrahiert der Bootmanager den ja aus dem ausgelesenen Image, oder?

Kann man das irgendwie mit dd abbilden was der Bootmanager da tut?
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Hmm, jo. Fremdimage flashen, mittels Kurzschlußmethode anhalten und dann mit copy_all auslesen.
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Oje, und ich dachte das hätte ich ein- für allemal hinter mir. :(

Na gut, mache ich mich da also mal wieder dran. Denn dauerts aber, bis ich Vollzug melde... :-)
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Oder hilft mir vielleicht die minflsh.tar hier irgendwie weiter? Also Fremdimage flashen und dann die minflash booten, dann mittels copy_all das Filesystem auslesen?
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Wenn Du ein minflsh hast, patche doch "os" und lies damit das Image aus.
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Hmmm, irgendwie mag mich die Kiste nicht.

Also ich habs mit ner minflsh probiert: Kein rsh. Dann habe ich in den Tiefen meines Datengrabes noch die passende os aus dem Fremdimage gefunden und die mit dem Hexeditor bearbeitet.

Folgende Struktur:

/tftpboot/dbox2/

Hier das gepatchte os rein.

DHCPD mit den Options

Code: Alles auswählen

host dbox {
  fixed-address 10.20.30.40;
  hardware ethernet 00:50:9c:12:07:93;
  allow bootp;
  server-name "mordor";
  option root-path "/tftpboot";
  filename "dbox2/os";
}
gestartet. In die /etc/ethers MAC-Adresse und IP eingetragen. Dem TFTPD /tftpboot als Startverzeichnis mitgegeben und die Box in die /etc/hosts eingetragen. Und nun kommts:

Beim Starten der Box kommt im Terminal nur:

Code: Alles auswählen

.debug: DDF: Calibrating delay loop... debug: DDF: 67.79 BogoMIPS
debug: BMon V1.0  mID 01
debug: feID 7a    gtxID 0b
debug: fpID 5a     dsID 01-d4.09.cf.05.00.00-40
debug: HWrev X5  SWrev 0.81
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
debug: &_text 0x10000, &_etext 0x26160, &_data 0x26160, &_edata 0x29c50
debug: &_end 0x347dc,  &__stack 0x400000
debug: Memory tests (0x400000 -- 0x2000000)
debug: NumberTest: debug: passed
debug: MarchTest: debug: passed
debug: PermTest:  debug: passed
dbox2:root> boot net
debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Unknown RFC1048-tag debug: 3 debug: 4 debug: a debug: 14 debug: 1e debug: 1 debug:
debug: Unknown RFC1048-tag debug: 6 debug: 4 debug: a debug: 14 debug: 1e debug: 1 debug:
debug: Unknown RFC1048-tag debug: 11 debug: 9 debug: 2f debug: 74 debug: 66 debug: 74 debug: 70 debug: 62 debug: 6f debug: 6f debug: 74 debug:
debug: Unknown RFC1048-tag debug: 1c debug: 4 debug: a debug: 14 debug: 1e debug: ff debug:
debug: Unknown RFC1048-tag debug: 2c debug: 4 debug: a debug: 14 debug: 1e debug: 1 debug:
debug: Got BOOTP reply from Server IP 10.20.30.1, My IP 10.20.30.40
debug: Sending TFTP-request for file dbox2/os
will verify ELF image, start= 0x800000, size= 1267512
verify sig: 40978
boot net: boot file has no valid signature
Branching to 0x409b8
DHCPD, TFTPD und RARPD loggen:

Code: Alles auswählen

Mar 12 16:55:13 mordor dhcpd: BOOTREQUEST from 00:50:9c:12:07:93 via br0
Mar 12 16:55:13 mordor dhcpd: BOOTREPLY for 10.20.30.40 to dbox (00:50:9c:12:07:93) via br0
Mar 12 16:55:13 mordor in.tftpd[6922]: connect from 10.20.30.40 (10.20.30.40)
Mar 12 16:55:13 mordor atftpd[6922]: Advanced Trivial FTP server started (0.7)
Mar 12 16:55:13 mordor atftpd[6924]: Serving dbox2/os to 10.20.30.40:2001
Mar 12 16:55:23 mordor rarpd[6812]: RARP request from 00:50:9c:12:07:93 on br0
Mar 12 16:55:23 mordor rarpd[6812]: RARP response to 00:50:9c:12:07:93 10.20.30.40 on br0
Aber auf rsh antwortet sie nicht, nur auf ping. Ich hab bestimmt irgendwo noch 'nen Denkfehler, nur wo?
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Sieht alles OK aus. Sicher, daß die Netzwerkconfig stimmt und iptables nicht rumpfuscht? ;)
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Ja, war auch mein erster Gedanke. Deswegen zur Sicherheit nochmal komplett ohne versucht. Auch nix.

Reicht es denn, wenn ich die os patche und der DBox als Bootfile zu fressen gebe? Weil in meinem /tftpboot/dbox2 ist nix anderes außer der os drin... Gibt auch sonst keine Unterverzeichnisse...
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Das reicht, der RSH-Server ist im os drin und NFS wird erst nachher per RSH gemounted.
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Muss ich denn noch irgendwas kurzschließen? Eigentlich nicht, da ich ja eine gepatchte os habe, oder?

Mist, ich habe das Gefühl ganz kurz vor der Lösung zu stehen. Das ist grad so, als ob man vor dem offenen Kühlschrank verhungern müsste nur weil kein Dosenöffner greifbar ist. ;)
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Gepatchte os alleine reicht, ich sehe keinen Grund wieso das nicht funktionieren sollte.
There are 10 types of people in the world: those who know binary and those who don't
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

Arggl, jetzt erzähl sie mir was von

Code: Alles auswählen

Das Betriebssystem
konnte nicht korrekt
geladen werden.

Mit "ok" aktualisie-ren Sie jetzt das Betriebsystem.
Aber nach dem Druck auf "OK" kommt eh wieder nur UC0...

Mal weitersuchen, ich will das jetzt hinkriegen... :roll:
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

AAAAAAAAAAAAAAAHHHHHHH

Okay, nennt mich Depp des Tages!

Kein Wunder dass die nicht auf rsh antwortet: Unter Debian ist rsh ein Link auf ssh, wenn man nicht explizit einen rsh-client installiert hat:

Code: Alles auswählen

[S] saruman@mordor saruman $ rsh dbox -l root help
ChorusOS r3 rsh daemon good try :-)

[S] saruman@mordor saruman $ rsh dbox -l root mount
C_INIT:
    root_device mount on /    (flfs)
Mann bin ich bescheuert! :-?
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

So, ich hab die BN wieder am Rennen.

Das hätt ich ja nicht gedacht, dass mich sowas Blödes wie mein rsh-client aufhält... Sorry!

Vielen Dank an Euch beide, DieMade und jmittelst, Ihr habt mir sehr geholfen.

Jetzt lass ich die Box noch ein Update machen und dann pack ich das mal alles zusammen ins Wiki.

.oO(Supereinfach, wenn man's erstmal gemacht hat und weiß wie's geht)

Dank noch mal! :D
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

rsh auf ssh linken ist ja wohl <zensiert> *g*
There are 10 types of people in the world: those who know binary and those who don't