xref: /rk3399_rockchip-uboot/tools/env/README (revision 56c1769806a437c994355422f5b52ca3eee70834)
16aff3115Swdenk
26aff3115SwdenkThis is a demo implementation of a Linux command line tool to access
36aff3115Swdenkthe U-Boot's environment variables.
46aff3115Swdenk
5*56c17698SLuca CeresoliIn the current version, there is an issue in cross-compilation.
6*56c17698SLuca CeresoliIn order to cross-compile fw_printenv, run
7*56c17698SLuca Ceresoli    make HOSTCC=<your CC cross-compiler> env
8*56c17698SLuca Ceresoliin the root directory of the U-Boot distribution. For example,
9*56c17698SLuca Ceresoli    make HOSTCC=arm-linux-gcc env
10*56c17698SLuca Ceresoli
11d0fb80c3SwdenkFor the run-time utiltity configuration uncomment the line
12d0fb80c3Swdenk#define CONFIG_FILE  "/etc/fw_env.config"
13d0fb80c3Swdenkin fw_env.h.
14d0fb80c3Swdenk
156de66b35SMarkus KlotzbücherFor building against older versions of the MTD headers (meaning before
166de66b35SMarkus Klotzbücherv2.6.8-rc1) it is required to pass the argument "MTD_VERSION=old" to
176de66b35SMarkus Klotzbüchermake.
186de66b35SMarkus Klotzbücher
19d0fb80c3SwdenkSee comments in the fw_env.config file for definitions for the
20d0fb80c3Swdenkparticular board.
21d0fb80c3Swdenk
22d0fb80c3SwdenkConfiguration can also be done via #defines in the fw_env.h file. The
236aff3115Swdenkfollowing lines are relevant:
246aff3115Swdenk
256aff3115Swdenk#define HAVE_REDUND	/* For systems with 2 env sectors */
266aff3115Swdenk#define DEVICE1_NAME	"/dev/mtd1"
276aff3115Swdenk#define DEVICE2_NAME	"/dev/mtd2"
28d0fb80c3Swdenk#define DEVICE1_OFFSET    0x0000
296aff3115Swdenk#define ENV1_SIZE         0x4000
306aff3115Swdenk#define DEVICE1_ESIZE     0x4000
3156086921SGuennadi Liakhovetski#define DEVICE1_ENVSECTORS     2
32d0fb80c3Swdenk#define DEVICE2_OFFSET    0x0000
336aff3115Swdenk#define ENV2_SIZE         0x4000
346aff3115Swdenk#define DEVICE2_ESIZE     0x4000
3556086921SGuennadi Liakhovetski#define DEVICE2_ENVSECTORS     2
366aff3115Swdenk
376aff3115SwdenkCurrent configuration matches the environment layout of the TRAB
386aff3115Swdenkboard.
396aff3115Swdenk
406aff3115SwdenkUn-define HAVE_REDUND, if you want to use the utlities on a system
41d0fb80c3Swdenkthat does not have support for redundant environment enabled.
42d0fb80c3SwdenkIf HAVE_REDUND is undefined, DEVICE2_NAME is ignored,
43d0fb80c3Swdenkas is ENV2_SIZE and DEVICE2_ESIZE.
44d0fb80c3Swdenk
45d0fb80c3SwdenkThe DEVICEx_NAME constants define which MTD character devices are to
46d0fb80c3Swdenkbe used to access the environment.
47d0fb80c3Swdenk
48d0fb80c3SwdenkThe DEVICEx_OFFSET constants define the environment offset within the
49d0fb80c3SwdenkMTD character device.
50d0fb80c3Swdenk
51d0fb80c3SwdenkENVx_SIZE defines the size in bytes taken by the environment, which
52d0fb80c3Swdenkmay be less then flash sector size, if the environment takes less
53d0fb80c3Swdenkthen 1 sector.
54d0fb80c3Swdenk
556aff3115SwdenkDEVICEx_ESIZE defines the size of the first sector in the flash
56d0fb80c3Swdenkpartition where the environment resides.
5756086921SGuennadi Liakhovetski
5856086921SGuennadi LiakhovetskiDEVICEx_ENVSECTORS defines the number of sectors that may be used for
5956086921SGuennadi Liakhovetskithis environment instance. On NAND this is used to limit the range
6056086921SGuennadi Liakhovetskiwithin which bad blocks are skipped, on NOR it is not used.
61