On Tue, 18 Aug 2020, 11:02 PM Stefano Babic, <sba...@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.pack...@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: sba...@denx.de > ===================================================================== >