Board specific environments and broken configs

Trent Piepho trent.piepho at igorinstitute.com
Mon May 17 13:57:56 PDT 2021


On Mon, May 17, 2021 at 12:38 AM Sascha Hauer <sha at pengutronix.de> wrote:
> On Fri, May 14, 2021 at 11:46:38PM -0700, Trent Piepho wrote:
> >
> > An issue with CONFIG_DEFAULT_ENVIRONMENT_PATH is that it applies to
> > all boards in a config.  If multiple boards are built at once, e.g.
> > imx_v7_defconfig, then there is no way for each board to have a
> > different extra env this way.
>
> Thanks for spotting this. It shows some points that could be cleaned up.
> Generally I suggest to remove the unused files. When they are unused
> nobody should miss them. For some boards we could think about removing

Maybe the documentation could be improved, as it appears to say that a
board env dir will automatically included?  I wonder if some boards,
e.g. skov, thought this too and didnt' realize their env was unused.

> them as well, like for example the i.MX boards that are still not
> converted to multiimage support.

If I understand correctly, with multimage support one puts the env
directory in the board makefile and then board code will add it.
Doesn't this mean that every env for a supported board will be in barebox?

I was thinking there might be a way to avoid that and also avoid board
specific code.

Pass an env overlay, or overlays, in the u-boot dtb that the pbl
provides.  Do it like a FIT image... e.g:
bbenv at 0 {
    compatible = "barebox,environment-data";
    barebox-bbenv-data = (raw data of the .bbenv goes here);
};

The raw data is injected during build the same way a FIT image puts in
the data for a kernel, dtb, initramfs, etc. into the FIT.

This way the env is only in the board specific image with the board
specific barebox dtb.  And common code for barebox's dtb handler can
trigger on the node and add it to the dtb instead of duplicating that
in the board code.  One could also pass additional env to a chained
barebox, though I don't know what one would do with that exactly.



More information about the barebox mailing list