Hardware:CST:Anleitungen:Recovery UART USB

Aus TuxBoxWIKI
Version vom 29. Mai 2020, 18:18 Uhr von Dbt (Diskussion | Beiträge) (angepasst)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Anleitung

Anleitung um Apollo Boards (Tank, Trinity) per UART und USB wieder herzustellen:


Dieses HOWTO ist nur für äußerste Notfälle und sollte normalerweise nicht benötigt werden! In 99% der Fälle sollte folgende Recoverymethode ausreichen: Apollo/Kronos - Recovery von Kernel und Image via USB (CST 2.13)


Vorbereitung

Einstellungen in TeraTerm für die serielle Schnittstelle
  • Tera Term Download: http://en.sourceforge.jp/projects/ttssh2/releases/
  • In Tera Term müssen die Einstellungen der seriellen Schnittstelle (Setup -> Serial port) folgendermaßen gesetzt sein (den zu verwendenden Port müsst ihr natürlich anpassen):
  • Passendes Paket aus dem Anhang laden (hängt vom Boxtyp und vom Image bzw. dem Kernel im Image ab das ihr danach flashen wollt)


Schritt 1

  • Auf einen FAT32 formatierten USB Stick kopiert man folgende Files: uldr.bin, u-boot.bin und optional vmlinux.ub.gz, rootfs.arm.jffs2.nand (umbenanntes Image).


Schritt 2

  • Gerät ausschalten und öffnen.
  • Jumper JP1 (Apollo) oder JP5 (Kronos) auf dem Mainboard stecken. Falls ihr keinen Jumper zur Hand habt geht auch ein Stück Draht oder eine Heftklammer aus Metall.
  • Box und PC mit Nullmodem Kabel verbinden (dabei sollten beide Geräte ausgeschaltet sein).
Trinity (Apollo) Jumper1
Zee² (Kronos) Jumper5


Schritt 3

  • Benutze ein serielles Terminal Programm (Tera Term oder minicom) welches das Y-Modem Protokoll versteht. Download von Tera Term siehe Einleitung.
  • Gerät einschalten.
  • Das Terminal sollte nun ein 'C' Zeichen zeigen. Das bedeutet das das Mainboard nun bereit ist zum Laden von bootloader und u-boot.
  • Sende nun vom Terminal "uldr.bin.uartboot_img" zum Mainboard
  • -> Tera Term: File -> Transfer -> YMODEM -> send

Danach siehst du wie nach u-boot gefragt wird und es wird wieder das 'C' Zeichen gezeigt.

  • Sende die Datei "u-boot.bin" und drücke schnell "Enter" nach dem Übertragen des Files, noch bevor der Kernel startet!

Wenn man zu langsam ist crashed der Boot Prozess, man muß das Mainboard resetten und vom Schritt 2 wieder beginnen.


Schritt 4

  • Stecke den vorbereiteten FAT32 USB Stick in den Front USB Anschluß des Gerätes.
  • Folgende Kommandos (Befehle) ausführen:


 usb start

-> wenn der USB Stick nicht erkannt wird, wiederhole den Befehl


 fatload usb 0 $loadaddr uldr.bin
 sfc erase uldr

-> erase (löschen) und write (schreiben) dauert eine Weile, also nur die Ruhe !


 sfc write uldr
 fatload usb 0 $loadaddr u-boot.bin
 sfc erase u-boot
 sfc write u-boot
 saveenv

-> speichert die Variablen


Hinweis: Wer sich ab hier für das einfachere Emergency Restore via USB entscheidet (-> empfohlen!), kann nun zu Schritt 5 springen und danach mit folgendem HowTo weitermachen: Apollo/Kronos - Recovery von Kernel und Image via USB (ab NG 2.6 oder CST 2.13)


 fatload usb 0 $loadaddr vmlinux.ub.gz
 sfc erase kernel
 sfc write kernel
 nand erase

-> NAND Flash wird gelöscht, dauert eine Weile !


 fatload usb 0 $loadaddr rootfs.arm.jffs2.nand

-> Konvertiere in HEX (z.B. in Windows den Rechner des PC verwenden) die angezeigte dezimale Größe in Bytes und verwende den HEX Wert im nächsten Befehl!


 nand write.jffs2 root0 <Größe des ROOT Image in HEX>


Schritt 5

  • Schalte Box aus, stecke den Jumper JP1 aus, baue die Box wieder zusammen.


Schritt 6

  • Nun sollte die Box wieder korrekt funktionieren.

Quelle

Vielen Dank an das NG-Return Board für die Freigabe dieses Artikels.