Flash auslesen

Aus TuxBoxWIKI
Version vom 22. August 2011, 11:59 Uhr von WikiBot (Diskussion | Beiträge) (Bot: Fixing redirects)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Allgemeines

Um den aktuellen Zustand des Flash-Inhalts zu sichern benötigt man ein Image des Flashinhalts. Das ist einfach ein Abbild, das Byte für Byte aus dem Flash kopiert wird. Dafür ist es völlig unwesentlich was sich aktuell im Flash befindet.


Mit den hier beschriebenen Methoden lassen sich Linux-Image genauso auslesen wie ganze oder beschädigte BR-Images. Ihr benötigt für alle diese Methoden ein funktionierendes Netzwerk zwischen DBox2 und PC. Die DBox2 muss sich im Debug-Mode befinden.

Methoden:


Bootmanager

Die einfachste und verbreitetste Version ist einfach die Image auslesen Funktion des Bootmanagers zu verwenden.


Bootmanager utilities.gif


Es ist empfehlenswert, dass ihr ein serielles Nullmodem verwendet, aber nicht unbedingt erforderlich. Wenn ihr ein Nullmodem verwendet, achtet darauf, dass die Verbindungsgeschwindigkeit im Bootmanager auf 9600 eingestellt ist. Drückt dann einfach auf Image auslesen (Utilities), der Bootmanager fordert euch auf einen Speicherort und einen Namen für das Image anzugeben, die notwendigen Einstellungen nimmt er selber vor.


Jetzt könnt ihr die DBox2 starten. Die ppcboot_read wird übertragen und der Auslesevorgang beginnt selbstständig. Im Com-Terminal sollten jetzt ganz viele Punkte erscheinen und in der Statusleiste sollte die linke Zahl hochzählen. Das ganze dauert eine Weile. Wenn der Auslesevorgang beendet ist, informiert euch der Bootmanager mit einem pop-up. Wenn im Com-Terminal ganz oft nochmal erscheint, bzw. in der Statusleiste die Anzeige auf 0/8192 stehenbleibt, dann ist euer Netzwerk zu langsam für diese Methode. Es kann auch sein, dass ihr auf der Dialogseite mit den Settings vergessen habt die Checkbox: RARP-Server starten zu selektieren oder den BootP-Server zu deaktivieren. Sollte das nicht weiterhelfen, dann verwendet am besten die dbox2.rar Methode von derget.

Alternative: Beim Reset mit gedrücktem Standby und Pfeil-nach-oben die letztere Taste ein paar Sekunden gedrückt halten. Die Box geht dann zuerst in einen Selbsttest und bleibt dann bei einem Prompt stehen. Zum Weiterbooten über den BOOTP-Server kann man sie dann mit der Eingabe von "boot net" bewegen. Mit dieser Methode funktioniert dann eventuell die Vergabe der IP-Adresse.


dbox2.rar

Hierbei handelt es sich um eine Mini-Linux-Distribution, die lediglich die Dateien enthält um ein Image auslesen zu können.


Ihr benötigt ein serielles Nullmodem, den Bootmanager und das dbox2.rar-Archiv: http://wiki.dbox2-tuning.net/wiki/images/Dbox2.rar

Das Archiv entpackt ihr mit einem beliebigen Entpacker (z.B. Winrar) in ein Verzeichnis, z.B. C:\dbox.


Den Bootmanager stellt ihr folgendermaßen ein:

BootP/TFTP-Server starten : Ein
Bootfile für Dbox : C:\dbox\tftpboot\ppcboot
NFS-Server starten : Ein
Root-Verzeichnis : C:\dbox\cdkroot
com-port öffnen : Ein
Verbindungsgeschwindigkeit : 9600

Flash auslesen - dbox2rar.jpg


So, jetzt könnt ihr auf Start drücken (nicht auf Image auslesen) und danach die Box starten. Die Box lädt jetzt ppcboot, kernel usw. Nach einiger Zeit erscheint im Com-Terminal die Aufforderung: Press Enter to activate this console Jetzt auf die Eingabetaste drücken. Danach gebt ihr, wie es auch schon im Com-Terminal steht, ein:

cat /dev/mtd/5 > flash.img


Schaut jetzt in C:\dbox\cdkroot. In dem Verzeichnis sollte eine Datei namens flash.img liegen. Das ist euer Image. Dieses Image ist ohne Bootloader.


Wenn ihr den Bootloader auch noch sichern wollt (eine Sicherung sollte man haben), dann gebt noch:

cat /dev/mtd/0 > boot.img


ein. Die Datei boot.img findet ihr ebenfalls in C:\dbox\cdkroot.


Telnet

Wenn ihr schon Linux auf der Box habt, ist das ganze einfacher. Ihr braucht lediglich noch einen FTP-Clienten.


Startet die DBox2 und erledigt die Netzwerkeinstellungen. Verbindet euch per Telnet mit der Box. Dazu gebt ihr in der Eingabeaufforderung: telnet 192.168.5.5 ein. (Eure IP-Adresse mag eine andere sein, gebt auf jeden Fall die der DBox2 ein) Die Box begrüßt euch und fordert euch auf euch anzumelden.


Als Benuternamen gebt ihr root ein. Das Passwort ist (sofern abgefragt) dbox2. Lasst euch nicht verwirren, wenn bei der Eingabe des Passworts nichts angezeigt wird, das ist in Ordnung.

Zum Auslesen des gesamten Flash-Images mit Bootloader ist folgendes einzugeben:

cat /dev/mtd/5 > /tmp/flash.img 

Zum Auslesen des Flash-Images ohne Bootloader ist folgendes einzugeben:

cat /dev/mtd/4 > /tmp/flash.img 

Die Unterscheidung ist wichtig, da nur ein Image ohne Bootloader über die Expertenfunktionen von Neutrino zurückgeflasht werden kann. Das Auslesen dauert einen Moment, der Cursor beginnt zu blinken, sobald der Vorgang beendet ist. Jetzt könnt ihr euch mit einem FTP-Clienten (die Zugangsdaten sind die gleichen wie für Telnet) mit der Box verbinden und euer Image unter /tmp abholen.


Expertenfunktionen

Wenn ihr schon eine neuere Neutrino-Version auf der Box habt, könnt ihr das Image auch mit den Expertenfunktionen auslesen.


Dazu benötigt ihr einen FTP-Clienten.


Startet Neutrino (Netzwerk muss eingestellt sein) und geht ins Hauptmenü. Dann auf Service -> Software aktualisieren -> Expertenfunktionen


Wenn ihr das ganze Image auslesen wollt, dann wählt Flashimage auslesen. Wenn ihr ein Image ohne Bootloader wollt (nur das lässt sich mit den Expertenfunktionen zurückflashen), dann wählt Einzelne Partition auslesen -> Flash ohne Bootloader. Dann noch bestätigen und das Image wird erstellt. Ihr könnt es dann mit FTP (Benutzername: root Passwort: dbox2) unter /tmp abholen.


Probleme

Die ppcboot wird nicht übertragen.

Wahrscheinlich reagiert eure Netzwerkkarte zu langsam. Versucht die Box zu resetten (Pfeil-nach-oben und Standby Taste an der Box gleichzeitig drücken) und dann nur die Standby Taste loszulassen.


Die Pfeil-nach-oben Taste haltet ihr noch ein bisschen gedrückt. Anschließend könnt ihr im Com-Terminal boot net eingeben. Die ppcboot sollte jetzt geladen werden.