Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Image Update via Bootloader und USB

Status
Für weitere Antworten geschlossen.

Nico1987

Freak
Registriert
17. November 2009
Beiträge
229
Reaktionspunkte
314
Punkte
123
Ort
Zuhause
Da der ein oder andere sich seine Box mit der Updatefunktion von Neutrino das Dateisystem kaputt geflash'd hat, hier mal eine Schritt für Schritt Anleitung, wie man das Dateisystem über den Bootloader und einen USB-Stick wieder einspielen kann. Hierbei geht es ausschließlich um das Dateisystem. Für den Linux-Kernel sind die im folgenden angegebenen Adressen falsch.

Voraussetzungen:
- PC ist per Nullmodemkabel mit der Box verbunden
- Auf dem PC läuft ein Terminalprogramm, wie z.B. das Windows eigene Hyperterm, mit den Parametern 115200 Baud, 8 Datenbits, 1 Stopbit, keine Parität, kein Handshake
- der USB-Stick ist im FAT-Dateisystem formatiert
- auf dem USB-Stick befindet sich das flashende Image in entpackter Form (kein zip, gz, 7u oder sonstiges) in dessen Wurzelverzeichnis

Und so gehts:

Schritt 1:

Box einschalten und sofort nach der Hardwareausgabe des Bootloaders im Terminalprogramm eine Taste drücken, so das der Startvorgang unterbrochen wird.

Die Anzeige im Terminalprogramm sollte z.B. so aussehen:

Code:

+------------------------------------------------------------------------------+ ¦ U-Boot 2009.03-svn860 (Jun 03 2009 - 10:20:46) Coolstream HD1 ¦ ¦------------------------------------------------------------------------------¦ ¦ Chipset information ¦ ¦ Vendor: Conexant Type: CX2450x (Nevis) Revision: C0 Fuses: 7FFFC534 ¦ ¦ Option: 00010000 max. clock: 550 MHz Core voltage: high ¦ ¦------------------------------------------------------------------------------¦ ¦ Clock information ¦ ¦ MPG0: 594.000 MHz MPG1: 594.000 MHz HD : 593.407 MHz AUD : 491.520 MHz ¦ ¦ PLL0: 432.000 MHz PLL1: 550.000 MHz PLL2: 533.333 MHz ¦ ¦ CPU : 550.000 MHz from PLL1 ¦ ¦------------------------------------------------------------------------------¦ ¦ Memory configuration ¦ ¦ Start ¦ End ¦ Type ¦ Description ¦ ¦----------+----------+-------+------------------------------------------------¦ ¦ 00000000 ¦ 0FFFFFFF ¦ RAM ¦ System main memory bank #0 ¦ ¦ 10000000 ¦ 17FFFFFF ¦ RAM ¦ System main memory bank #1 ¦ ¦ F0000000 ¦ F0FFFFFF ¦ FLASH ¦ Spansion S29GL128P (128 Mbit / 8M x 16) ¦ ¦ F1000000 ¦ F1FFFFFF ¦ FLASH ¦ Spansion S29GL128P (128 Mbit / 8M x 16) ¦ ¦------------------------------------------------------------------------------¦ ¦ Serial number: 000-00000001 (00-000001) ¦ ¦------------------------------------------------------------------------------¦ ¦ Network configuration ¦ ¦ MAC: Conexant VMAC rev. 07 address: 00-C5-5C-00-00-01 ¦ ¦ PHY: IC Plus IP101 address: 09 ¦ +------------------------------------------------------------------------------+ Hit any key to stop autoboot: 0 HD1>
Schritt 2:

Den USB-Stick anschließen und folgendes im Terminalprogramm eintippen:

Code:

usb start
Diese Eingabe bestätigt die Box mit folgender Antwort:

Code:

(Re)start USB... USB: ehci_hcd_init(); CX2450x init hccr e8000100 and hcor e8000140 hc_length 64 Register 10011 NbrPorts 1 USB EHCI 1.00 scanning bus for devices... 2 USB Device(s) found scanning bus for storage devices... 1 Storage Device(s) found HD1>
Schritt 3:

Nun wird die Imagedatei geladen. Dazu muß folgendes eingegeben werden:

Code:

fatload usb 0 0x0E000000 pwm.img
Im obigen Beispiel ist die Datei pwm.img die zu ladende Datei. Im Terminalprogramm ist der aktuelle Ladefortschritt durch eine vielzahl von Punkten zu verfolgen:

Code:

reading pwm.img .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .......................................................................... 19237640 bytes read HD1>
Die Angabe der gelesenen Bytes - in diesem Beispiel 19237640 - notieren. Diese wird gleich wieder benötigt.

Schritt 4:

Löschen des für das Image vorgesehenen Bereiches im Flash. Dazu dient diese Eingabe:

Code:

erase 0xF0480000 0xF1FFFFFF
Auch hier wird wieder mit Punkten der Fortschritt angezeigt:

Code:

.................................................................................. .......... .................................................................................. .............................................. Erased 220 sectors HD1>
Schritt 5:

Die oben beim Lesen der Imagedatei notierte Größenangabe ( 19237640 Byte ) durch 4 teilen. Sollte dabei ein Rest übriegbleiben, muß das Ergebnis aufgerundet werden. 19237640 / 4 = 4809410. Diese Dezimalzahl muß nun noch in die hexadezimale Darstellung umgerechnet werden. Dazu kann man z.B. den Windows-Rechner im Wissenschaftlichen Modus benutzen. 4809410 dezimal sind 0x4962C2 hexadezimal. Dieser Wert wird für den nun folgenden letzten Schritt benötigt.

Schritt 6:

Jetzt wird geflasht. Dazu folgendes im Terminalprogramm eingeben:

Code:

cp 0x0E000000 0xF0480000 0x4962C2
In der Eingabe findet sich die berechnete Größe aus Schritt 5 wieder. Im Terminalprogramm gibt die Box abermals den Fortschritt durch eine Reihe von Punkten aus:

Code:

Copy to Flash... ................................................................. ........................... ...................................................... done HD1>
An dieser Stelle ist das Image geflasht. Nun kann die Box durch Eingabe von "reset" im Terminalprogramm oder durch Aus- und Einschalten neu gestartet werden.

Quelle=dbox2world
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben