mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
env: allow people to force envcrc building
For people who want to manually extract the embedded environment so that it can be manually packed into the final u-boot image, add a config opt to force building of the envcrc tool. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
8875bdb341
commit
c3eb3fe490
4 changed files with 18 additions and 4 deletions
5
README
5
README
|
@ -2563,6 +2563,11 @@ The following definitions that deal with the placement and management
|
||||||
of environment data (variable area); in general, we support the
|
of environment data (variable area); in general, we support the
|
||||||
following configurations:
|
following configurations:
|
||||||
|
|
||||||
|
- CONFIG_BUILD_ENVCRC:
|
||||||
|
|
||||||
|
Builds up envcrc with the target environment so that external utils
|
||||||
|
may easily extract it and embed it in final U-Boot images.
|
||||||
|
|
||||||
- CONFIG_ENV_IS_IN_FLASH:
|
- CONFIG_ENV_IS_IN_FLASH:
|
||||||
|
|
||||||
Define this if the environment is in flash memory.
|
Define this if the environment is in flash memory.
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
* Generate embedded environment table
|
* Generate embedded environment table
|
||||||
* inside U-Boot image, if needed.
|
* inside U-Boot image, if needed.
|
||||||
*/
|
*/
|
||||||
#if defined(ENV_IS_EMBEDDED)
|
#if defined(ENV_IS_EMBEDDED) || defined(CONFIG_BUILD_ENVCRC)
|
||||||
/*
|
/*
|
||||||
* Only put the environment in it's own section when we are building
|
* Only put the environment in it's own section when we are building
|
||||||
* U-Boot proper. The host based program "tools/envcrc" does not need
|
* U-Boot proper. The host based program "tools/envcrc" does not need
|
||||||
|
|
|
@ -761,4 +761,9 @@ int cpu_release(int nr, int argc, char * const argv[]);
|
||||||
#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1)
|
#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1)
|
||||||
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
|
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
|
||||||
|
|
||||||
|
/* Pull in stuff for the build system */
|
||||||
|
#ifdef DO_DEPS_ONLY
|
||||||
|
# include <environment.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __COMMON_H_ */
|
#endif /* __COMMON_H_ */
|
||||||
|
|
|
@ -60,6 +60,10 @@
|
||||||
# endif
|
# endif
|
||||||
#endif /* CONFIG_ENV_IS_IN_FLASH */
|
#endif /* CONFIG_ENV_IS_IN_FLASH */
|
||||||
|
|
||||||
|
#if defined(ENV_IS_EMBEDDED) && !defined(CONFIG_BUILD_ENVCRC)
|
||||||
|
# define CONFIG_BUILD_ENVCRC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||||
# define ENV_HEADER_SIZE (sizeof(uint32_t) + 1)
|
# define ENV_HEADER_SIZE (sizeof(uint32_t) + 1)
|
||||||
#else
|
#else
|
||||||
|
@ -71,14 +75,14 @@
|
||||||
|
|
||||||
extern uint32_t crc32 (uint32_t, const unsigned char *, unsigned int);
|
extern uint32_t crc32 (uint32_t, const unsigned char *, unsigned int);
|
||||||
|
|
||||||
#ifdef ENV_IS_EMBEDDED
|
#ifdef CONFIG_BUILD_ENVCRC
|
||||||
extern unsigned int env_size;
|
extern unsigned int env_size;
|
||||||
extern unsigned char environment;
|
extern unsigned char environment;
|
||||||
#endif /* ENV_IS_EMBEDDED */
|
#endif /* CONFIG_BUILD_ENVCRC */
|
||||||
|
|
||||||
int main (int argc, char **argv)
|
int main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
#ifdef ENV_IS_EMBEDDED
|
#ifdef CONFIG_BUILD_ENVCRC
|
||||||
unsigned char pad = 0x00;
|
unsigned char pad = 0x00;
|
||||||
uint32_t crc;
|
uint32_t crc;
|
||||||
unsigned char *envptr = &environment,
|
unsigned char *envptr = &environment,
|
||||||
|
|
Loading…
Reference in a new issue