From: AD <ad.ensi@netc.fr>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>, barebox@lists.infradead.org
Subject: Re: Environment is not overwritten at barebox update
Date: Fri, 15 Jan 2021 13:12:21 +0100 [thread overview]
Message-ID: <3add69f4-c8a3-3848-a1ea-8a041a8dafd4@netc.fr> (raw)
In-Reply-To: <cc7279d9-f943-8b03-630e-fc7c41c9d0f2@pengutronix.de>
Dear Ahmad,
thanks for your help.
On 15/01/2021 11:35, Ahmad Fatoum wrote:
>
> On 15.01.21 11:22, AD wrote:
>> Dear all,
>>
>> I've compiled an image and try to get my environment scripts on my target but I can't get them.
>>
>> Here a snippet of my DTS :
>>
>> / {
>> model = "Main Board";
>>
>> compatible = "fsl,imx6dl";
>> chosen {
>> stdout-path = &uart3;
>> };
>>
>> environment@0 {
>> compatible = "barebox,environment";
>> device-path = &usdhc3, "partname:barebox-environment";
>> };
>> };
>>
>> &usdhc3 {
>> partition@0 {
>> label = "barebox";
>> reg = <0x0 0x80000>;
>> };
>> partition@1 {
>> label = "barebox-environment";
>> reg = <0x80000 0x80000>;
>> };
>>
>> ...
>>
>> # Many other partitions
>>
>> ...
>>
>> };
>>
>>
>> Here a snippet of my .config :
>>
>> CONFIG_DEFAULT_ENVIRONMENT=y
>> # CONFIG_DEFAULT_COMPRESSION_GZIP is not set
>> # CONFIG_DEFAULT_COMPRESSION_LZO is not set
>> # CONFIG_DEFAULT_COMPRESSION_LZ4 is not set
>> # CONFIG_DEFAULT_COMPRESSION_XZ is not set
>> CONFIG_DEFAULT_COMPRESSION_NONE=y
>> CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
>> CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW_MENU=y
>> CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW_DFU=y
>> CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/al-mx6/env/"
>>
>> And here the content of : "arch/arm/boards/al-mx6/env/"
>>
>> ad@debian:~/workspace/barebox/chrysalis/arch/arm/boards/al-mx6/env$ tree
>> .
>> ├── bin
>> │ └── init
>> ├── boot
>> │ ├── al
>> │ ├── tftp
>> │ └── usb
>> ├── config
>> └── data
>> ├── ansi-colors
>>
>>
>> Now, on the target, I'm upgrading barebox using a simple : cp barebox.img /dev/mmc2
>>
>>
>> With the compiled date and hour from the Barebox logs at starting, I can see that the "new" barebox is really the one that I juste compiled.
>>
>> But I don't have my env correctly updated :
>>
>> barebox@Main Board:/env ls -l
>> drwxrwxrwx 0 .
>> d--------- 0 ..
>> drwxrwxrwx 0 bin
>> -rwxrwxrwx 25 config
>> drwxrwxrwx 0 data
>> drwxrwxrwx 0 init
>> drwxrwxrwx 0 menu
>> drwxrwxrwx 0 network
>> drwxrwxrwx 0 nv
>>
>>
>> My config file is not the one that I compiled, and the boot/ directory has not been updated...
>> But the newly created files are always updated.
>> Only the already existing ones are not overwritten.
>> Not sure of that, but it seems to be different between several boards...
>>
>>
>> I am missing something?
>>
>>
>> Here the starting logs :
>>
>>
>> barebox 2019.07.0-06872-g2c7ca71f9-dirty #2 Tue Dec 8 18:41:29 CET 2020
>>
>>
>> Board: Main Board
>> detected i.MX6 DualLite revision 1.4
>> i.MX reset reason POR (SRSR: 0x00000001)
>> i.MX6 DualLite unique ID: f21fd23e181bc1d4
>> mdio_bus: miibus0: probed
>> imx-usb 2184200.usb@02184200.of: USB EHCI 1.00
>> imx-esdhc 2194000.usdhc@02194000.of: registered as mmc1
>> imx-esdhc 2198000.usdhc@02198000.of: registered as mmc2
>> imx-ipuv3 2400000.ipu@02400000.of: IPUv3H probed
>> caam 2100000.caam@2100000.of: Instantiated RNG4 SH0
>> caam 2100000.caam@2100000.of: Instantiated RNG4 SH1
>> caam 2100000.caam@2100000.of: registering rng-caam
>> netconsole: registered as netconsole-1
>> GPR1 = 48600005
>> malloc space: 0x3fdf6540 -> 0x4fdf653f (size 256 MiB)
>> mmc2: detected MMC card version 5.0
>> mmc2: registered mmc2.boot0
>> mmc2: registered mmc2.boot1
>> mmc2: registered mmc2
>> running /env/bin/init...
>>
>> Hit m for menu or any other key to stop autoboot:
>> type exit to get to the menu
>> barebox@Chrysalis Main Board:/
>>
>>
>> Thanks for everything,
> The barebox mutable environment is meant as development
> feature, so you can override the built-in environment.
>
> You'll probably want to run saveenv -z to override this
> and force use of the built-in environment.
If I understand well, the issue is not that my built-in env is not
"updated" on the target, but that it is not loaded at startup.
And it is not loaded, because I already have a modified environment, on
which I did a "saveenv" previously ; as a consequence, at startup, this
"local dev env" is loaded instead of the built-in one?
I tried a saveenv -z on a modified env, and it restores properly the
built-in env at the next startup.
On some targets, I don't have the issue.
Is it possible that on those targets, I never did a saveenv which would
have created a "local" env ; as a consequence, every time I update
Barebox, the built-in env is always used?
As a conclusion, I guess that updating barebox with "cp ${image}
/dev/mmc2" and "saveenv -z" instead of only using the first command
would solve this issue.
In any case, many thanks for helping me to understand this mechanism.
Best Regards,
AD
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2021-01-15 12:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-15 10:22 Environment is not overwritten at barebox update AD
2021-01-15 10:35 ` Ahmad Fatoum
2021-01-15 12:12 ` AD [this message]
2021-01-18 17:32 ` Ahmad Fatoum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3add69f4-c8a3-3848-a1ea-8a041a8dafd4@netc.fr \
--to=ad.ensi@netc.fr \
--cc=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox