
On Tue, 18 Aug 2020, 11:02 PM Stefano Babic, sbabic@denx.de wrote:
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@gmail.com
Which is the added value compared to use CONFIG_USE_DEFAULT_ENV_FILE=y and adding your file with no variables ?
Long story short that was what I tried first but I was having trouble making it work with tools-only_defconfig. But I think the point remains, there's just no sane set of defaults that can be built-in to a generic fw_setenv tool.
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@denx.de =====================================================================