u-boot/lib
Kim Phillips a000b7950d common: add a grepenv command
u-boot environments, esp. when boards are shared across multiple
users, can get pretty large and time consuming to visually parse.
The grepenv command this patch adds can be used in lieu of printenv
to facilitate searching.  grepenv works like printenv but limits
its output only to environment strings (variable name and value
pairs) that match the user specified substring.

the following examples are on a board with a 5313 byte environment
that spans multiple screen pages:

Example 1:  summarize ethernet configuration:

=> grepenv eth TSEC
etact=FM1@DTSEC2
eth=FM1@DTSEC4
ethact=FM1@DTSEC2
eth1addr=00:E0:0C:00:8b:01
eth2addr=00:E0:0C:00:8b:02
eth3addr=00:E0:0C:00:8b:03
eth4addr=00:E0:0C:00:8b:04
eth5addr=00:E0:0C:00:8b:05
eth6addr=00:E0:0C:00:8b:06
eth7addr=00:E0:0C:00:8b:07
eth8addr=00:E0:0C:00:8b:08
eth9addr=00:E0:0C:00:8b:09
ethaddr=00:E0:0C:00:8b:00
netdev=eth0
uprcw=setenv ethact $eth;setenv filename p4080ds/R_PPSXX_0xe/rcw_0xe_2sgmii_rev2_high.bin;setenv start 0xe8000000;protect off all;run upimage;protect on all
upuboot=setenv ethact $eth;setenv filename u-boot.bin;setenv start eff80000;protect off all;run upimage;protect on all
upucode=setenv ethact $eth;setenv filename fsl_fman_ucode_P4080_101_6.bin;setenv start 0xef000000;protect off all;run upimage;protect on all
usdboot=setenv ethact $eth;tftp 1000000 $dir/$bootfile;tftp 2000000 $dir/initramfs.cpio.gz.uboot;tftp c00000 $dir/p4080ds-usdpaa.dtb;setenv bootargs root=/dev/ram rw console=ttyS0,115200 $othbootargs;bootm 1000000 2000000 c00000;
=>

Example 2: detect unused env vars:

=> grepenv etact
etact=FM1@DTSEC2
=>

Example 3: reveal hardcoded variables; e.g., for fdtaddr:

=> grepenv fdtaddr
fdtaddr=c00000
nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr
=> grep $fdtaddr
fdtaddr=c00000
my_boot=bootm 0x40000000 0x41000000 0x00c00000
my_dtb=tftp 0x00c00000 $prefix/p4080ds.dtb
nohvboot=tftp 1000000 $dir/$bootfile;tftp 2000000 $dir/$ramdiskfile;tftp c00000 $dir/$fdtfile;setenv bootargs root=/dev/ram rw ramdisk_size=0x10000000 console=ttyS0,115200;bootm 1000000 2000000 c00000;
=>

This patch also enables the grepenv command by default on
corenet_ds based boards (and repositions the DHCP command
entry to keep the list sorted).

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Kumar Gala <kumar.gala@freescale.com>
Cc: Andy Fleming <afleming@freescale.com>
2011-04-28 01:00:07 +02:00
..
libfdt Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
lzma Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
lzo Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
addr_map.c
asm-offsets.c Small coding style fix in lib/asm-offsets.c 2011-01-17 22:55:58 +01:00
bzlib.c
bzlib_crctable.c
bzlib_decompress.c
bzlib_huffman.c
bzlib_private.h
bzlib_randtable.c
circbuf.c
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc16.c
crc32.c
ctype.c ctype: constify lookup table 2010-11-28 21:58:29 +01:00
display_options.c display_buffer: fix misaligned buffer 2010-09-13 13:15:07 +02:00
div64.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
errno.c Add basic errno support. 2010-09-19 19:29:47 +02:00
gunzip.c Fix gunzip to work for any gziped uImage size 2011-04-12 22:58:30 +02:00
hashtable.c common: add a grepenv command 2011-04-28 01:00:07 +02:00
ldiv.c
lmb.c
Makefile lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
md5.c
net_utils.c string_to_ip: constify "s" arg 2010-11-28 21:56:39 +01:00
qsort.c env: re-add support for auto-completion 2011-01-09 17:57:37 +01:00
rbtree.c
sha1.c
sha256.c
string.c
strmhz.c strmhz: Make hz unsigned to support greater than 2146 MHz clock 2011-03-22 23:34:36 +01:00
time.c
vsprintf.c do_reset: unify duplicate prototypes 2010-11-28 21:47:24 +01:00
zlib.c zlib: Add further watchdog reset calls 2010-10-12 21:16:01 +02:00