Nutzung von fw_printenv und fw_setenv bei spark7162 Boxen

Antworten
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5421
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 295 Mal

Nutzung von fw_printenv und fw_setenv bei spark7162 Boxen

#1

Beitrag von DboxOldie »

Unter dem gebautem Kernel aus dem buildsystem-ddt für Neutrino bei spark7162 sehen ja die Flash Partitionen so aus:

Code: Alles auswählen

spark7162:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "uboot"
mtd1: 00a00000 00020000 "Spark kernel"
mtd2: 00700000 00020000 "Reserve0"
mtd3: 00200000 00020000 "Reserve1"
mtd4: 16c00000 00020000 "Spark Userfs"
mtd5: 00800000 00020000 "E2 kernel"
mtd6: 04000000 00020000 "E2 Userfs"
mtd7: 03700000 00020000 "NAND DATA"
Die mtd0 ist ein "Fake" im NAND Flash und enthält keine Daten.
Die dient lediglich dazu den Adressbereich frei zu halten.
Um jetzt das vorhandene Tool ( fw_printenv / fw_setenv ) nutzen zu können, muss ein Modul geladen werden: insmod /lib/modules/i2s.ko

Dann sieh das so aus:

Code: Alles auswählen

spark7162:~# insmod /lib/modules/i2s.ko
spark7162:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "uboot"
mtd1: 00a00000 00020000 "Spark kernel"
mtd2: 00700000 00020000 "Reserve0"
mtd3: 00200000 00020000 "Reserve1"
mtd4: 16c00000 00020000 "Spark Userfs"
mtd5: 00800000 00020000 "E2 kernel"
mtd6: 04000000 00020000 "E2 Userfs"
mtd7: 03700000 00020000 "NAND DATA"
mtd8: 00100000 00010000 "uboot"
Nun hat dieses Modul eine weitere Partition (mtd8) hinten angehängt um auf die Bootargs zugreifen zu können.
Das Tool nutzt eine config Datei, deren Inhalt man sich unbedingt anschauen sollte mit : cat /etc/fw_env.config

Code: Alles auswählen

spark7162:~# cat /etc/fw_env.config
# Configuration file for fw_(printenv/saveenv) utility.
# run insmod /lib/modules/i2s.ko first to have mtd8 block visible
# environment sector is assumed present.
# MTD device name       Device offset   Env. size       Flash sector size
/dev/mtd8               0x000A0000      0x00020000      0x20000
spark7162:~#
So ist die Zeile richtig für den Neutrino Kernel aus dem bs-ddt !

Im Moment wird aber im bs-ddt eine config in das Image kopiert die für den Enigma2 Kernel passt, der ja den mtd7 nicht kennt und der mtd6 hat da die volle Größe.
( Wichtig für die Selbstbauer ! )
Der Inhalt sieht so aus:

Code: Alles auswählen

# Configuration file for fw_(printenv/saveenv) utility.
# run insmod /lib/modules/i2s.ko first to have mtd7 block visible
# environment sector is assumed present.
# MTD device name	Device offset	Env. size	Flash sector size
/dev/mtd7               0x000A0000      0x00020000      0x20000
!! Diese config nicht verwenden mit Neutrino !!
Vorschlag an @max hier, das in neutrino-release.mk zu ändern.
Hier ein Patch dazu:
neutrino-release-spark7162.patch
und diese Datei für .../root/release : ( natürlich ohne die Endung .txt )
fw_env.config_spark7162_neutrino.txt
Dann wird beim Neutrino Bau für spark7162 immer die richtige conf in das Image kopiert.

Edit:
Das ist durch @max freundlicherweise prompt erledigt worden, ab sofort wird die richtige conf ins Image kopiert. THX :thumbs:

Ist die conf nun richtig mit mtd8 und den anderen Daten wie oben,
kann man sich bei geladenen i2s.ko Modul die Bootargs ausgeben lassen mit fw_printenv :

Code: Alles auswählen

spark7162:~# fw_printenv
baudrate=115200
yw_version=YW_1.1.003-9-g7248322
board=pdk7105
monitor_base=0
monitor_len=0x00100000
load_addr=0x80000000
HOSTNAME=LINUX7167
ethaddr=00:80:E1:12:06:38
kernel_base_spark= 0x00100000 
kernel_base_enigma2= 0x18000000 
kernel_len_spark= 0x00a00000 
kernel_len_enigma2= 0x00800000 
...
... usw.
... noch etliche Einträge ...
... bis zum Ende wo das vom U-Boot eingetragene aktuelle Boot System steht
...
boot_system=enigma2
spark7162:~#
Auch Änderungen sind möglich mit fw_setenv.

Generelle Syntax der beiden Befehle:
fw_printenv --> gibt alle Bootargs aus
fw_printenv boot_system --> gibt nur ein Arg aus, im Beispiel hier von 'boot_system'

fw_setenv arg_name --> nur der Arg Name ( Schlüsselname ) löscht den Eintrag komplett mit Wert und Schlüssel
fw_setenv arg_name 'mit Hochkommas eingeschlossene Liste der Werte' --> speichert das Arg mit den Werten der in Hochkommas eingeschlossenen Liste.

Grundsätzlicher Hinweis :
-Veränderungen an den Bootargs auf eigene Gefahr !
-baut man da Murks könnte die Box nicht mehr starten !
-NIEMALS die Box dauerhaft mit geladenen i2s.ko Modul betreiben, wenn man was geändert hat die Box neu starten damit das Modul nicht mehr aktiv ist.

-Zur Sicherheit sollte man ein Nullmodem Kabel sowie RS232 Schnittstelle oder RS232<>USB Adapter haben,
-um Notfalls die Bootargs in der U-Boot Konsole gerade zu biegen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Folgende Benutzer bedankten sich beim Autor DboxOldie für den Beitrag:
BPanther (So 17. Dez 2017, 06:49)
Bewertung: 7.69%
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Benutzeravatar
max
Moderator
Moderator
Beiträge: 812
Registriert: Mi 6. Jul 2011, 22:23
Hat sich bedankt: 26 Mal
Danksagung erhalten: 49 Mal

Re: Nutzung von fw_printenv und fw_setenv bei spark7162 Boxe

#2

Beitrag von max »

erledigt
Benutzeravatar
DrStoned
Registrierte Benutzer
Registrierte Benutzer
Beiträge: 20
Registriert: Mo 29. Apr 2013, 05:28
Hat sich bedankt: 9 Mal
Danksagung erhalten: 2 Mal

Re: Nutzung von fw_printenv und fw_setenv bei spark7162 Boxe

#3

Beitrag von DrStoned »

insmod /lib/modules/i2sko.ko
Muss das nicht
insmod /lib/modules/i2s.ko
heißen?

Ist Codelog falsch geschrieben.
3 x Golden Media TripleX
1x Amiko Alien 2 Triple Tuner

Datenspeicher für alle Receiver: Synology DS212j über NFS

Greetz von DrStoned :lol: :lol: :lol:
Benutzeravatar
DboxOldie
Co-Admin
Co-Admin
Beiträge: 5421
Registriert: Sa 6. Aug 2011, 15:21
Hat sich bedankt: 79 Mal
Danksagung erhalten: 295 Mal

Re: Nutzung von fw_printenv und fw_setenv bei spark7162 Boxe

#4

Beitrag von DboxOldie »

Stimmt.. :wink:
Ich hatte den Punkt vergessen > 2 x Backspace > Punkt + k + o > Enter
Dann sieht das im Putty Log so aus.
Danke, wird geändert.

Übrigens für Schreibfaule:
insmod i2s.ko geht auch, da der insmod der busybox automatisch in /lib/modules sucht
MfG DboxOldie

KEIN SUPPORT PER PN > Bitte das Forum benutzen und ins Wiki schauen

Bild
Antworten

Zurück zu „Allgemeines/Anleitungen/FAQ“