[RFC PATCH] tools: env: Add an option to have an empty default environment
Stefano Babic
sbabic at denx.de
Tue Aug 18 13:02:04 CEST 2020
Hi Chris,
On 13.08.20 03:37, Chris Packham wrote:
> When building envtools via tools-only_defconfig the builtin defaults
> are based on options in the defconfig. For example:
>
> bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
> bootdelay=2
> baudrate=115200
> stdin=serial,cros-ec-keyb,usbkbd
> stdout=serial,vidconsole
> stderr=serial,vidconsole
> ethaddr=00:00:11:22:33:44
> eth3addr=00:00:11:22:33:45
> eth5addr=00:00:11:22:33:46
> eth6addr=00:00:11:22:33:47
> ipaddr=1.2.3.4
> bootm_size=0x10000000
> kernel_addr_r=0x1000000
> fdt_addr_r=0xc00000
> ramdisk_addr_r=0x2000000
> scriptaddr=0x1000
> pxefile_addr_r=0x2000
>
> These may or may not be sensible for any particular target. Rather than
> trying to have a set of defaults that work for every target add a config
> option to make the default environment completely empty.
>
> Signed-off-by: Chris Packham <judge.packham at gmail.com>
> ---
Which is the added value compared to use CONFIG_USE_DEFAULT_ENV_FILE=y
and adding your file with no variables ?
Best regards,
Stefano
>
> configs/tools-only_defconfig | 1 +
> env/Kconfig | 7 +++++++
> include/env_default.h | 2 ++
> 3 files changed, 10 insertions(+)
>
> diff --git a/configs/tools-only_defconfig b/configs/tools-only_defconfig
> index a853abf2b8fc..0ddd0518ef9a 100644
> --- a/configs/tools-only_defconfig
> +++ b/configs/tools-only_defconfig
> @@ -12,6 +12,7 @@ CONFIG_BOOTP_DNS2=y
> CONFIG_OF_CONTROL=y
> CONFIG_OF_HOSTFILE=y
> CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> +CONFIG_EMPTY_DEFAULT_ENV=y
> CONFIG_BOOTP_SEND_HOSTNAME=y
> CONFIG_IP_DEFRAG=y
> # CONFIG_ACPIGEN is not set
> diff --git a/env/Kconfig b/env/Kconfig
> index af4d9cbaa4d8..f7860f01cc16 100644
> --- a/env/Kconfig
> +++ b/env/Kconfig
> @@ -614,6 +614,13 @@ config DEFAULT_ENV_FILE
> containing key=value pairs, blank lines and lines beginning
> with # are ignored.
>
> +config EMPTY_DEFAULT_ENV
> + bool "Create an empty default environment"
> + help
> + Create an empty default environment. This is intended to be
> + used when building generic target tools and no sensible
> + default that can be included.
> +
> config ENV_VARS_UBOOT_RUNTIME_CONFIG
> bool "Add run-time information to the environment"
> help
> diff --git a/include/env_default.h b/include/env_default.h
> index 8a0c3057f0aa..859188a8e7c9 100644
> --- a/include/env_default.h
> +++ b/include/env_default.h
> @@ -23,6 +23,7 @@ static char default_environment[] = {
> const uchar default_environment[] = {
> #endif
> #ifndef CONFIG_USE_DEFAULT_ENV_FILE
> +#ifndef CONFIG_EMPTY_DEFAULT_ENV
> #ifdef CONFIG_ENV_CALLBACK_LIST_DEFAULT
> ENV_CALLBACK_VAR "=" CONFIG_ENV_CALLBACK_LIST_DEFAULT "\0"
> #endif
> @@ -107,6 +108,7 @@ const uchar default_environment[] = {
> #endif
> #ifdef CONFIG_EXTRA_ENV_SETTINGS
> CONFIG_EXTRA_ENV_SETTINGS
> +#endif
> #endif
> "\0"
> #else /* CONFIG_USE_DEFAULT_ENV_FILE */
>
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list