[RFC PATCH] tools: env: Add an option to have an empty default environment
Chris Packham
judge.packham at gmail.com
Thu Aug 13 03:37:27 CEST 2020
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>
---
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 */
--
2.28.0
More information about the U-Boot
mailing list