Jump to content

Image Update / Flashen via Telnet


Gandalf

Empfohlene Beiträge

  • Admin

Original: siehe hier

 

Image Update / Flashen via Telnet

 

Zuerst mal nachsehen was auf der Box drauf ist.

 

cat /proc/mtd

da sollte dann eine Ausgabe in der Art hier kommen

 

~ # cat /proc/mtd

dev: size erasesize name

mtd0: 00060000 00020000 "U-Boot"

mtd1: 00020000 00020000 "Splash"

mtd2: 00400000 00020000 "kernel"

mtd3: 01b80000 00020000 "systemFS"

 

 

Neutrino "systemFS" ist in diesem Fall "mdt3" und müsste nun in weiterer Folge bei den anderen Befehlen eingesetzt werden wenn es ausgetauscht werden soll, in den Beispielen wurde "mtd2" benutzt.

 

Da es bei den Team-Images Abweichungen gibt und nicht immer alle Partitionen vorhanden sind ist die Abfrage ein muss um sich nicht der Gefahr auszusetzen falsche Partitionen zu überschreiben.

 

 

Jetzt das zu flashende Image nach /tmp kopieren ( in diesem Beispiel heist das neue Image Test.img )

 

Via Telnet auf die Box verbinden

 

Coolstream HD1 und HD1 BSE

 

 

cd /tmp

eraseall /dev/mtd2

cat Test.img > /dev/mtd2

reboot

 

 

Coolstream HD1 NEO und Zee

 

 

cd /tmp

eraseall /dev/mtd3

cat Test.img > /dev/mtd3

reboot

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

Oder hier von @Snowhead eine Methode welche die "systemSF" rausfindet wodurch das Überschreiben falscher Patitionen vermieden wird.

 

 

Mit FTP ein neues Image (irgendwas.img) nach /tmp spielen.

Im Telnet eingeben (am Besten mit Copy&Paste aber mit richtigem Imagenamen):

 

DEV=`grep -i systemFS /proc/mtd | cut -f 0 -s -d :`
/bin/eraseall /dev/$DEV && /bin/cat /tmp/irgendwas.img > /dev/$DEV && echo Jetzt neu starten

 

Erklärung zu den verwendeten Befehlen

 

Die erste Zeile ermittelt die zu flashende Partition, welche sich ja bei CS1 und NEO unterscheiden.

Dazu wird er Inhalt von /proc/mtd

 

CS1:

dev: size erasesize name

mtd0: 00080000 00020000 "U-Boot"

mtd1: 00400000 00020000 "kernel"

mtd2: 01b80000 00020000 "systemFS"

NEO:

dev: size erasesize name

mtd0: 00060000 00020000 "U-Boot"

mtd1: 00020000 00020000 "Splash"

mtd2: 00400000 00020000 "kernel"

mtd3: 01b80000 00020000 "systemFS"

 

zuerst mit "grep" auf die Zeile reduziert, welche den Text "systemFS" enthält.

Diese Zeile wird dann mit "cut" in einzelne Teile geschnitten,wobei das Zeichen ":" als Trennzeichen ( -d : ) verwendet wird.

Der erste Teil ( -f 0 ) enthält dann also "mtd2" (unsere gesuchte Partition) (bzw. "mtd3" bei der NEO) und wird der Variable "DEV" zugewiesen. Die wird dann in der zweiten Zeile als Zielpartition verwendet.

In der zweiten Zeile wird mit "eraseall" die gefundene Partition gelöscht und anschließend der Inhalt des Imagefile in /tmp/ mittels "cat" durch die Umleitung in die gelöschte Partition geschrieben. Anschließend erfolgt mit "echo" die Aufforderung zum Neustart.

 

Hier noch etwas Lesestoff.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...