mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-04 02:11:25 +01:00 
			
		
		
		
	Modifying the default environment via CONFIG_EXTRA_ENV_SETTINGS is somewhat inflexible, partly because the cpp language does not allow appending to an existing macro. This prevents reuse of "environment fragments" for different boards, which in turn makes maintaining that environment consistently tedious and error-prone. This implements a Kconfig option for allowing one to define the entire default environment in an external file, which can then, for example, be generated programmatically as part of a Yocto recipe, or simply be kept in version control separately from the U-boot repository. Tested-by: Sean Nyekjaer <sean.nyekjaer@prevas.dk> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Lukasz Majewski <lukma@denx.de>
		
			
				
	
	
		
			119 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * (C) Copyright 2000-2010
 | 
						|
 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 | 
						|
 *
 | 
						|
 * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
 | 
						|
 * Andreas Heppel <aheppel@sysgo.de>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#include <env_callback.h>
 | 
						|
 | 
						|
#ifdef DEFAULT_ENV_INSTANCE_EMBEDDED
 | 
						|
env_t environment __UBOOT_ENV_SECTION__(environment) = {
 | 
						|
	ENV_CRC,	/* CRC Sum */
 | 
						|
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
 | 
						|
	1,		/* Flags: valid */
 | 
						|
#endif
 | 
						|
	{
 | 
						|
#elif defined(DEFAULT_ENV_INSTANCE_STATIC)
 | 
						|
static char default_environment[] = {
 | 
						|
#else
 | 
						|
const uchar default_environment[] = {
 | 
						|
#endif
 | 
						|
#ifndef CONFIG_USE_DEFAULT_ENV_FILE
 | 
						|
#ifdef	CONFIG_ENV_CALLBACK_LIST_DEFAULT
 | 
						|
	ENV_CALLBACK_VAR "=" CONFIG_ENV_CALLBACK_LIST_DEFAULT "\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_ENV_FLAGS_LIST_DEFAULT
 | 
						|
	ENV_FLAGS_VAR "=" CONFIG_ENV_FLAGS_LIST_DEFAULT "\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_USE_BOOTARGS
 | 
						|
	"bootargs="	CONFIG_BOOTARGS			"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_BOOTCOMMAND
 | 
						|
	"bootcmd="	CONFIG_BOOTCOMMAND		"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_RAMBOOTCOMMAND
 | 
						|
	"ramboot="	CONFIG_RAMBOOTCOMMAND		"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_NFSBOOTCOMMAND
 | 
						|
	"nfsboot="	CONFIG_NFSBOOTCOMMAND		"\0"
 | 
						|
#endif
 | 
						|
#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
 | 
						|
	"bootdelay="	__stringify(CONFIG_BOOTDELAY)	"\0"
 | 
						|
#endif
 | 
						|
#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
 | 
						|
	"baudrate="	__stringify(CONFIG_BAUDRATE)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_LOADS_ECHO
 | 
						|
	"loads_echo="	__stringify(CONFIG_LOADS_ECHO)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_ETHPRIME
 | 
						|
	"ethprime="	CONFIG_ETHPRIME			"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_IPADDR
 | 
						|
	"ipaddr="	__stringify(CONFIG_IPADDR)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_SERVERIP
 | 
						|
	"serverip="	__stringify(CONFIG_SERVERIP)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_SYS_AUTOLOAD
 | 
						|
	"autoload="	CONFIG_SYS_AUTOLOAD		"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_PREBOOT
 | 
						|
	"preboot="	CONFIG_PREBOOT			"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_ROOTPATH
 | 
						|
	"rootpath="	CONFIG_ROOTPATH			"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_GATEWAYIP
 | 
						|
	"gatewayip="	__stringify(CONFIG_GATEWAYIP)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_NETMASK
 | 
						|
	"netmask="	__stringify(CONFIG_NETMASK)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_HOSTNAME
 | 
						|
	"hostname="	__stringify(CONFIG_HOSTNAME)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_BOOTFILE
 | 
						|
	"bootfile="	CONFIG_BOOTFILE			"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_LOADADDR
 | 
						|
	"loadaddr="	__stringify(CONFIG_LOADADDR)	"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_CLOCKS_IN_MHZ
 | 
						|
	"clocks_in_mhz=1\0"
 | 
						|
#endif
 | 
						|
#if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
 | 
						|
	"pcidelay="	__stringify(CONFIG_PCI_BOOTDELAY)"\0"
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_ENV_VARS_UBOOT_CONFIG
 | 
						|
	"arch="		CONFIG_SYS_ARCH			"\0"
 | 
						|
#ifdef CONFIG_SYS_CPU
 | 
						|
	"cpu="		CONFIG_SYS_CPU			"\0"
 | 
						|
#endif
 | 
						|
#ifdef CONFIG_SYS_BOARD
 | 
						|
	"board="	CONFIG_SYS_BOARD		"\0"
 | 
						|
	"board_name="	CONFIG_SYS_BOARD		"\0"
 | 
						|
#endif
 | 
						|
#ifdef CONFIG_SYS_VENDOR
 | 
						|
	"vendor="	CONFIG_SYS_VENDOR		"\0"
 | 
						|
#endif
 | 
						|
#ifdef CONFIG_SYS_SOC
 | 
						|
	"soc="		CONFIG_SYS_SOC			"\0"
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
#ifdef	CONFIG_EXTRA_ENV_SETTINGS
 | 
						|
	CONFIG_EXTRA_ENV_SETTINGS
 | 
						|
#endif
 | 
						|
	"\0"
 | 
						|
#else /* CONFIG_USE_DEFAULT_ENV_FILE */
 | 
						|
#include "generated/defaultenv_autogenerated.h"
 | 
						|
#endif
 | 
						|
#ifdef DEFAULT_ENV_INSTANCE_EMBEDDED
 | 
						|
	}
 | 
						|
#endif
 | 
						|
};
 |