Home | History | Annotate | only in /external/u-boot/tools/env
Up to higher level directory
NameDateSize
crc32.c22-Oct-202029
ctype.c22-Oct-202029
env_attr.c22-Oct-202028
env_flags.c22-Oct-202029
fw_env.c22-Oct-202038.2K
fw_env.config22-Oct-20201.3K
fw_env.h22-Oct-20204.2K
fw_env_main.c22-Oct-20206.5K
fw_env_private.h22-Oct-20201.4K
linux_string.c22-Oct-202036
Makefile22-Oct-2020997
README22-Oct-20202.3K

README

      1 
      2 This is a demo implementation of a Linux command line tool to access
      3 the U-Boot's environment variables.
      4 
      5 In order to cross-compile fw_printenv, run
      6     make CROSS_COMPILE=<your cross-compiler prefix> envtools
      7 in the root directory of the U-Boot distribution. For example,
      8     make CROSS_COMPILE=arm-linux- envtools
      9 
     10 You should then create a symlink from fw_setenv to fw_printenv. They use
     11 the same program and its function depends on its basename.
     12 
     13 For the run-time utility configuration uncomment the line
     14 #define CONFIG_FILE  "/etc/fw_env.config"
     15 in fw_env.h.
     16 
     17 For building against older versions of the MTD headers (meaning before
     18 v2.6.8-rc1) it is required to pass the argument "MTD_VERSION=old" to
     19 make.
     20 
     21 See comments in the fw_env.config file for definitions for the
     22 particular board.
     23 
     24 Configuration can also be done via #defines in the fw_env.h file. The
     25 following lines are relevant:
     26 
     27 #define HAVE_REDUND	/* For systems with 2 env sectors */
     28 #define DEVICE1_NAME	"/dev/mtd1"
     29 #define DEVICE2_NAME	"/dev/mtd2"
     30 #define DEVICE1_OFFSET    0x0000
     31 #define ENV1_SIZE         0x4000
     32 #define DEVICE1_ESIZE     0x4000
     33 #define DEVICE1_ENVSECTORS     2
     34 #define DEVICE2_OFFSET    0x0000
     35 #define ENV2_SIZE         0x4000
     36 #define DEVICE2_ESIZE     0x4000
     37 #define DEVICE2_ENVSECTORS     2
     38 
     39 Un-define HAVE_REDUND, if you want to use the utilities on a system
     40 that does not have support for redundant environment enabled.
     41 If HAVE_REDUND is undefined, DEVICE2_NAME is ignored,
     42 as is ENV2_SIZE and DEVICE2_ESIZE.
     43 
     44 The DEVICEx_NAME constants define which MTD character devices are to
     45 be used to access the environment.
     46 
     47 The DEVICEx_OFFSET constants define the environment offset within the
     48 MTD character device.
     49 
     50 ENVx_SIZE defines the size in bytes taken by the environment, which
     51 may be less then flash sector size, if the environment takes less
     52 then 1 sector.
     53 
     54 DEVICEx_ESIZE defines the size of the first sector in the flash
     55 partition where the environment resides.
     56 
     57 DEVICEx_ENVSECTORS defines the number of sectors that may be used for
     58 this environment instance. On NAND this is used to limit the range
     59 within which bad blocks are skipped, on NOR it is not used.
     60 
     61 To prevent losing changes to the environment and to prevent confusing the MTD
     62 drivers, a lock file at /var/lock/fw_printenv.lock is used to serialize access
     63 to the environment.
     64