[U-Boot] [RFC PATCH 6/7] Add support for loading environment from uEnv.txt in config_distro_bootcmd.

Stephen Warren swarren at nvidia.com
Tue Oct 7 05:55:43 CEST 2014


On 10/03/2014 03:08 PM, Vagrant Cascadian wrote:


> diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h

>  			"for prefix in ${boot_prefixes}; do "             \
>  				"run scan_dev_for_extlinux; "             \
>  				"run scan_dev_for_scripts; "              \
> +				"run scan_dev_for_uenv_files; "           \
>  			"done;"                                           \

I've always thought of uEnv.txt being stored in a single hard-coded
location, and used to set e.g. $boot_targets to influence which
locations get searched for boot files. However, this patch appears to
use it to house actual boot command sequences.

In other words, I intended:

* (Optionally, and preferably via CONFIG_PREBOOT) load uEnv.txt from a
hard-coded location.
* Search a list of locations for boot files, of type extlinux.conf (or
for legacy reasons, boot .scr)

However, this patch now allows:

* Search a list of locations for boot files, of type extlinux.conf, or
for legacy reasons, boot .scr, or uEnv.txt

I don't think that's something we should encourage in
config_distro_bootcmd.h; the entire point of this header file is to
define a single way (extlinux.conf) for distros to define the available
boot options. Yes unfortunately we have boot.scr too as a legacy option,
but perhaps someday we can drop that. If we grow more options (allowing
boot scripts in uEnv.txt) that removes the standardization.

If we absolutely have to support uEnv.txt for legacy reasons on some
platforms, we should at least make it optional so that we don't add
support for it to all the other platforms that don't want to pick up
legacy stuff. Perhaps we should "run scan_dev_hook" and allow boards to
define arbitrary stuff there, so there's no mention at all of uEnv.txt
in config_distro_bootcmd.h.


More information about the U-Boot mailing list