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 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"
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:~#
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
Vorschlag an @max hier, das in neutrino-release.mk zu ändern.
Hier ein Patch dazu: und diese Datei für .../root/release : ( natürlich ohne die Endung .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
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:~#
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.