[PATCH 11/11] bootm: Support string substitution in bootargs

Michael Walle michael at walle.cc
Mon Oct 19 17:47:02 CEST 2020


Am 2020-10-19 16:54, schrieb Wolfgang Denk:
> Dear Simon,
> 
> In message <20201019135602.3943835-12-sjg at chromium.org> you wrote:
>> In some cases it is necessary to pass parameters to Linux so that it 
>> will
>> boot correctly. For example, the rootdev parameter is often used to
>> specify the root device. However the root device may change depending 
>> on
>> whence U-Boot loads the kernel. At present it is necessary to build up
>> the command line by adding device strings to it one by one.
>> 
>> It is often more convenient to provide a template for bootargs, with
>> U-Boot doing the substitution from other environment variables.
>> 
>> Add a way to substitute strings in the bootargs variable. This allows
>> things like "rootdev=%U" to be used in bootargs, with the %U 
>> substitution
>> providing the UUID of the root device.
> 
> Argh, no, please don't.
> 
> You add something unconditionally to common code which very few
> people need.  U-Boot size is growing all the time because of such
> ... features.  This may be acceptable on the systems you have in
> mind, but I consider this selfish.
> 
> Why do we have to add yet another non-standard way of substituting
> variables in a string?  Can we not use alreay existing methonds
> instead?
> 
> Why do you have to use "%U" in your template instead of for example
> "${uuid}" ?

I'd second that. Having variables evaluated inside the bootargs would
be very valuable IMHO.

At the moment we have some cumbersome constructs like
   set_bootargs="setenv bootargs bla ${var}"

-michael


More information about the U-Boot mailing list