mail archive of the barebox mailing list
 help / color / mirror / Atom feed
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

  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