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@xxxxxxxxxxx: USB EHCI 1.00
imx-esdhc 2194000.usdhc@xxxxxxxxxxx: registered as mmc1
imx-esdhc 2198000.usdhc@xxxxxxxxxxx: registered as mmc2
imx-ipuv3 2400000.ipu@xxxxxxxxxxx: IPUv3H probed
caam 2100000.caam@xxxxxxxxxx: Instantiated RNG4 SH0
caam 2100000.caam@xxxxxxxxxx: Instantiated RNG4 SH1
caam 2100000.caam@xxxxxxxxxx: 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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox