PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [fixed] AT7500 Bootargs Bug



samoth
14.06.2014, 18:40
Hi morly,

erstmal vielen Dank für Deine Super Arbeit und Dein Klasse Tool. :o:o:o

Habe mit der AT7500 Box getestet. Funktioniert alles super, bis auf daß die Bootargs nicht ausgelesen werden und dargestellt werden.
Vielleicht hast Du ja mal Zeit zu schaun ....

Viele Grüße, Samoth

P.S.

bei Booten aus dem Flash mit HDMU Bootloader 6.0 erhalte ich folgendes:
================================================== ====

AT7500:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00060000 00020000 "Boot_firmware"
mtd1: 00320000 00020000 "Kernel"
mtd2: 0001fffe 00020000 "Fake_ROOT"
mtd3: 0001fffe 00020000 "Fake_DEV"
mtd4: 0001fffe 00020000 "Fake_APP"
mtd5: 03c00000 00020000 "Real_ROOT"

AT7500:~# fw_printenv
Can't open /dev/mtd6: No such device

Inhalt von fw_env.config
==================

# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundand
# environment sector is assumed present.
# MTD device name Device offset Env. size Flash

sector size
/dev/mtd6 0x00000000 0x00020000 0x20000

morly
15.06.2014, 11:58
OK - die sollten auf mtd6 liegen, das wird aber bei dir nicht angezeigt.
Nun die Frage - wird mtd6 verborgen oder wurden die Bootargs wo anders abgelegt (gibt einen ähnlichen Thread hier wo das Problem angesprochen wird - leider ohne Lösung)

Problem ist also nicht direkt vom AT - sondern, dass uns mtd6 fehlt
Warum tut es das???

santa
15.06.2014, 12:13
Ich sehe nicht den Sinn des auslesens der bootargs bei der at7500.
Da entweder nur flash möglich ist mit bl5.xx oder bl6.00, oder wenn man multiboot nutzen will braucht man iboot oder wie das heißt.

morly
15.06.2014, 12:30
Trotzdem santa, mtd6 steht in der config ... ist aber nicht sichtbar,
Haett mich halt interessiert ;)
Ging doch mal... oder versteckt iboot mtd

santa
15.06.2014, 12:34
Das ist noch aus bl5.xx Zeiten denke ich.
Kann sein das man den wieder erst mit i2c oder so freischalten muss

samoth
24.06.2014, 22:02
Das ist noch aus bl5.xx Zeiten denke ich.
Kann sein das man den wieder erst mit i2c oder so freischalten muss

@Santa: Kannst Du das bitte vielleicht noch ein wenig genauer beschreiben wie das freischalten geht ? Ich würds dann mal ausprobieren ...
Grüße, Samoth

morly
24.06.2014, 22:08
hast du ein device node:
/dev/i2c-1

- - - Aktualisiert - - -

vergiss es - lies mal hier:
http://www.hdmedia-universe.com/board/showthread.php?3491-Admin-Tool-Bootargs&p=40366&viewfull=1#post40366

Audioniek
25.06.2014, 01:54
Hello Morly, santa

The info in fw_printenv for the AT7500/HS8200 is wrong and has been wrong in all git's from the beginning. For loader 6.00 it should read:

# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundant
# environment sector is assumed present.
# MTD device name Device offset Env. size Flash sector size
/dev/mtd0 0x00040000 0x00020000 0x20000

The most probable reason for this is that with loader 5.0X the bootargs actually used are not stored on an erase block boundary (shame on you, Fortis!), so santa may be right that this is an error inherited from the past. Fortis corrected this by moving the bootargs to an erase boundary in loader 6.00, so they are flashable in theory, although not through an .IRD file. The bootargs even contain a script (update_env) to update them.

mtd6 in most Fortis boxes points to the user area, in stock firmware this would hold the /var directory and the plugins. In my solution for E2 in flash with loader 6.00 there indeed is no mtd6 any longer after mtd concatenation has taken place (that is when the kernel starts loading the application). For further info, see the documentation I wrote about loader 6.00 and running E2 with it. With loader 5.0X mtd6 would be present, but did not hold the boot args, so using fw_printenv would return rubbish anyway, and fw_setenv would destroy other data.

The fix is simple: update the file fw_env.config_atevio7500 in the directory X/tdt/cvs/cdk/root/etc in your build environment and/or git with the info given above.

Regards,

Audioniek.

morly
25.06.2014, 08:33
Many thanks - maybe one can test it?
Start AT and connect to box(!!)
Change the file at:

toolpath_to_AT/AT_MORLY_bin/fw_env.config
with the line provided above and Reload the bootargs in the Bootargs-Tab

solala
25.06.2014, 11:49
(shame on you, Fortis!),;) audioniek, but you are right

in fact by factory default the bootargs sector ( 0xa0040000-0xa005ffff ) is empty and the loaders only use the embedded bootargs. whenever a "saveenv" is done at the serial console the bootargs are saved to the flash and then are preferred if the sector info is correct.

and to all:
the git MTD info and MTD partition layout is NOT the same as uboot/iboot mtds. its a thing for the coder to use the proper values and take care things go right.

samoth
25.06.2014, 21:45
@audioiek: Thanks for the information :):):)
@morly: I have tested with the information from audionek via FTP and with MT. It is working now with FTP but not with MT.
@solala: Is iboot working together with the HDMU image or with boot via USB ?

Best regards
Samoth

solala
26.06.2014, 18:19
@solala: Is iboot working together with the HDMU image or with boot via USB ?

of course iboot can boot every image from every bootable media (flash usb sata network) but there are some restrictions in the public version which can be disabled for beta testers or developers

samoth
29.06.2014, 19:32
UPDATE:
@morly: With MT it is working as well perfectly. But you have to update fw_env.config each time manually. Perhaps you could integrate that it a next version of the MT-Tool :o


@audioiek: Thanks for the information :):):)
@morly: I have tested with the information from audionek via FTP and with MT. It is working now with FTP but not with MT.
@solala: Is iboot working together with the HDMU image or with boot via USB ?

Best regards
Samoth

morly
29.06.2014, 19:37
of course ;)
already included - to be seen at the next release...

morly
15.07.2014, 10:49
and marked as fixed...