mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-05 11:00:43 +09:00
f3d8f7dd73
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
|
|
};
|