[U-Boot] SWUpdate - U-Boot environment library dependency

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Tue Nov 20 21:11:31 UTC 2018


On 04.09.2018 12:30, Andreas Reichel wrote:
> Hi all,
>
> as Stefano Babic was so friendly and pointed out a few things already,
> we come the following problematic points:
>
> For SWupdate to access U-Boot's environment, it uses code from U-Boot.
> Before 2015, fw_env.c was copied - hence out of version control,
> afterwards and since then, a lib.a produced by U-Boot has been used
> and renamed to libubootenv.a to link against.
>
> However, this approach creates several difficulties:
>
> * Distros like Debian cannot provide a devel package for SWUpdate like
>    u-boot-dev, since U-Boot has its default environment code compiled
>    board-dependently and Debian needed it board-independent.
>    If a board-independent libubootenv.a was provided without
>    a specific default environment, the first update process would destroy
>    the U-Boot environment if it had had bad CRC before.
>    (Thanks Stefano for this good point).
>
> * If we have a board with U-Boot already preinstalled and want to
>    compile SWUpdate for it, we need the sources of this very U-Boot to
>    get the propper lib. For example in a debian-like build system we had to
>    compile U-Boot again, although it is already installed since we lack
>    a dev package.
>
> * U-Boot does not provide any default means to install a development
>    library. Thus anything we modify on-top might break with the next
>    version.
>
> First proposal by Stefano and me would be to somehow split the default
> environment from the library to have a board-independent component and
> board specific data that is passed to U-Boot and SWUpdate somehow.
>
> Goal is to factor out U-Boot environment support for other software like
> SWUpdate and not patching and hacking like its the case with recipes as in
> openembedded atm.

Has there been any progress in the SWupdate/fw_setenv integration? I 
thought I remember reading something about letting fw_setenv extract the 
environment from the U-Boot binary in the target, but I cannot find the 
thread. I do think the current situation should be improved, making 
fw_setenv independent of the target that is built.

And as this thread is on the swupdate group as well: I would prefer 
calling an external fw_setenv tool instead of linking in the static 
library libubootenv.a...

Simon


More information about the U-Boot mailing list