[U-Boot] [PATCH 27/30] km/common: simplify default environment

Valentin Longchamp valentin.longchamp at keymile.com
Fri Apr 8 16:24:17 CEST 2011


From: Holger Brunck <holger.brunck at keymile.com>

This is a first step to simplify the default environment. Move all
the environment variables which are only needed for debugging
purpose to textfiles in the scripts directory. In case of debugging
these files can be loaded via tftp into RAM and set via the env import
command. Other variables are identified as obsolete and were removed.

Signed-off-by: Holger Brunck <holger.brunck at keymile.com>
Acked-by: Heiko Schocher <hs at denx.de>
cc: Wolfgang Denk <wd at denx.de>
cc: Detlev Zundel <dzu at denx.de>
cc: Valentin Longchamp <valentin.longchamp at keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp at keymile.com>
---
 board/keymile/scripts/README               |   25 ++++++
 board/keymile/scripts/debug-arm-env.txt    |    2 +
 board/keymile/scripts/debug-common-env.txt |    9 ++
 board/keymile/scripts/debug-ppc-env.txt    |    2 +
 include/configs/km/keymile-common.h        |  128 +++-------------------------
 include/configs/km/km-powerpc.h            |   12 +--
 include/configs/km/km_arm.h                |    5 +-
 7 files changed, 57 insertions(+), 126 deletions(-)
 create mode 100644 board/keymile/scripts/README
 create mode 100644 board/keymile/scripts/debug-arm-env.txt
 create mode 100644 board/keymile/scripts/debug-common-env.txt
 create mode 100644 board/keymile/scripts/debug-ppc-env.txt

diff --git a/board/keymile/scripts/README b/board/keymile/scripts/README
new file mode 100644
index 0000000..ce6d79a
--- /dev/null
+++ b/board/keymile/scripts/README
@@ -0,0 +1,25 @@
+debug-common-env.txt
+============================
+This file defines environment variables which are valid for powerpc boards
+and for arm boards.
+
+addramfs: add phram device for the rootfilesysten in ram
+develop: for development, laod kernel via tftp and mount  rootfs via NFS
+nfsargs: default arguments for nfs boot
+ramfs: load rootfilesystem in RAM  kernel
+rootfsfile: loacation of the rootfs file for ramfs
+setramfspram: compute PRAM size for ramfs target
+setrootfsaddr: compute rootfilesystem address for phram
+tftpkernel: load a kernel with tftp into ram
+tftpramfs: load rootfs with tftp into ram
+
+debug-ppc-env.txt
+============================
+fdt_file: location of the dtb file on the tftp server
+tftpfdt: load dtb file and set fdt address
+
+debug-arm-env.txt
+============================
+tftpfdt: for arm only a dummy variable, because we have no fdt on arm
+
+
diff --git a/board/keymile/scripts/debug-arm-env.txt b/board/keymile/scripts/debug-arm-env.txt
new file mode 100644
index 0000000..84498af
--- /dev/null
+++ b/board/keymile/scripts/debug-arm-env.txt
@@ -0,0 +1,2 @@
+debug_env_common=tftpboot 0x200000 scripts/debug-common-env.txt && env import -t 0x200000 ${filesize}
+tftpfdt=true
diff --git a/board/keymile/scripts/debug-common-env.txt b/board/keymile/scripts/debug-common-env.txt
new file mode 100644
index 0000000..1fd4b0c
--- /dev/null
+++ b/board/keymile/scripts/debug-common-env.txt
@@ -0,0 +1,9 @@
+addramfs=setenv bootargs "${bootargs} phram.phram=rootfs${boot_bank},${rootfsaddr},${rootfssize}"
+develop=setenv subbootcmds "tftpfdt tftpkernel nfsargs ${commonargs} boot " && setenv bootcmd 'run bootrunner' && setenv altbootcmd 'run bootcmd' && km_setboardid && saveenv && reset
+nfsargs=setenv bootargs ubi.mtd=ubi0 root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
+ramfs=setenv actual_bank -1 && setenv subbootcmds "tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs ${commonargs} addpanic addramfs boot " && setenv bootcmd 'run bootrunner' && setenv altbootcmd 'run bootcmd' && run setboardid && run setramfspram && run setpnvramaddr && saveenv && reset
+rootfsfile=${hostname}/rootfsImage
+setramfspram=setexpr value 0 + ${reservedpram} && setexpr value 0x${value} + ${rootfssize} && setexpr value 0x${value} + ${varsize} && setexpr value 0x${value} + ${pnvramsize} && setexpr value 0x${value} / 0x400 && setenv pram 0x${value}
+tftpkernel=tftpboot ${kernel_addr_r} ${hostname}/uImage && setenv actual_kernel_addr ${kernel_addr_r}
+tftpramfs=tftpboot ${rootfsaddr} ${hostname}/rootfsImage && setenv loadaddr
+setrootfsaddr=setexpr value ${pnvramsize} - ${rootfssize} && setenv rootfsaddr 0x${value}
diff --git a/board/keymile/scripts/debug-ppc-env.txt b/board/keymile/scripts/debug-ppc-env.txt
new file mode 100644
index 0000000..3c06ff1
--- /dev/null
+++ b/board/keymile/scripts/debug-ppc-env.txt
@@ -0,0 +1,2 @@
+debug_env_common=tftpboot 0x200000 scripts/debug-common-env.txt && env import -t 0x200000 ${filesize}
+tftpfdt=tftpboot ${fdt_addr_r} ${hostname}/${hostname}.dtb && setenv actual_fdt_addr ${fdt_addr_r}
diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h
index b313b2e..89f2d14 100644
--- a/include/configs/km/keymile-common.h
+++ b/include/configs/km/keymile-common.h
@@ -171,13 +171,8 @@
 		"break=0; "						\
 		"for subbootcmd in ${subbootcmds}; do "			\
 		"if test ${break} -eq 0; then; "			\
-		"echo \"[INFO] running \\c\"; "				\
 		"print ${subbootcmd}; "					\
 		"run ${subbootcmd} || break=1; "			\
-		"if test ${break} -eq 1; then; "			\
-		"echo \"[ERR] failed \\c\"; "				\
-		"print ${subbootcmd}; "					\
-		"fi; "							\
 		"fi; "							\
 		"done\0"						\
 	""
@@ -188,8 +183,6 @@
  * - set 'bootcmd' and 'altbootcmd'
  * available targets:
  * - 'release': for a standalone system		kernel/rootfs from flash
- * - 'develop': for development			kernel(tftp)/rootfs(NFS)
- * - 'ramfs': rootfilesystem in RAM		kernel(tftp)/rootfs(RAM)
  *
  * - 'commonargs': bootargs common to all targets
  */
@@ -203,40 +196,6 @@
 		"addmtdparts "						\
 		"addbootcount "						\
 		"\0"							\
-	"develop="							\
-		"setenv subbootcmds \""					\
-		"tftpfdt tftpkernel "					\
-		"nfsargs ${commonargs} "				\
-		"printbootargs boot "					\
-		"\" && "						\
-		"setenv bootcmd \'"					\
-		"run bootrunner"					\
-		"\' && "						\
-		"setenv altbootcmd \'"					\
-		"run bootcmd"						\
-		"\' && "						\
-		"run setboardid && "					\
-		"saveenv && "						\
-		"reset\0"						\
-	"ramfs="							\
-		"setenv actual_bank -1 && "				\
-		"setenv subbootcmds \""					\
-		"tftpfdt tftpkernel "					\
-		"setrootfsaddr tftpramfs "				\
-		"flashargs ${commonargs} "				\
-		"addpanic addramfs "					\
-		"printbootargs boot "					\
-		"\" && "						\
-		"setenv bootcmd \'"					\
-		"run bootrunner"					\
-		"\' && "						\
-		"setenv altbootcmd \'"					\
-		"run bootcmd"						\
-		"\' && "						\
-		"run setboardid && "					\
-		"run setramfspram && "					\
-		"saveenv && "						\
-		"reset\0"						\
 	"release="							\
 		"setenv actual_bank ${initial_boot_bank} && "		\
 		"setenv subbootcmds \""					\
@@ -244,8 +203,7 @@
 		"ubiattach ubicopy "					\
 		"cramfsloadfdt cramfsloadkernel "			\
 		"flashargs ${commonargs} "				\
-		"addpanic "						\
-		"printbootargs boot "					\
+		"addpanic boot "					\
 		"\" && "						\
 		"setenv bootcmd \'"					\
 		"run actual bootrunner; reset"				\
@@ -253,8 +211,12 @@
 		"setenv altbootcmd \'"					\
 		"run backup bootrunner; reset"				\
 		"\' && "						\
-		"saveenv && "						\
+		"saveenv && saveenv && "				\
 		"reset\0"						\
+	"debug_env="							\
+		"tftp 200000 " CONFIG_KM_ARCH_DBG_FILE " && "		\
+		"env import -t 200000 ${filesize} && "			\
+		"run debug_env_common\0"				\
 	""
 
 /*
@@ -264,10 +226,8 @@
  * - 'addip': add ip configuration
  * - 'addmem': limit kernel memory mem=
  * - 'addpanic': add kernel panic options
- * - 'addramfs': add phram device for the rootfilesysten in ram
  * - 'addtty': add console=...
  * - 'addvar': add phram device for /var
- * - 'nfsargs': default arguments for nfs boot
  * - 'flashargs': defaults arguments for flash base boot
  *
  * processor specific settings
@@ -282,25 +242,15 @@
 		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\
 		":${hostname}:${netdev}:off\0"				\
 	"addmem="							\
-		"setenv bootargs ${bootargs} mem=0x${pnvramaddr}\0"	\
+		"setenv bootargs ${bootargs} mem=${pnvramaddr}\0"	\
 	"addpanic="							\
-		"setenv bootargs ${bootargs} "				\
-		"panic=1 panic_on_oops=1\0"				\
-	"addramfs="							\
-		"setenv bootargs \""					\
-		"${bootargs} phram.phram="				\
-		"rootfs${boot_bank},${rootfsaddr},${rootfssize}\"\0"	\
+		"setenv bootargs ${bootargs} panic=1 panic_on_oops=1\0"	\
 	"addtty="							\
 		"setenv bootargs ${bootargs}"				\
 		" console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}\0"	\
 	"addvar="							\
 		"setenv bootargs ${bootargs} phram.phram=phvar,"	\
-		"${varaddr},0x" xstr(CONFIG_KM_PHRAM) "\0"		\
-	"nfsargs="							\
-		"setenv bootargs "					\
-		"ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " "		\
-		"root=/dev/nfs rw "					\
-		"nfsroot=${serverip}:${rootpath}\0"			\
+		"${varaddr}," xstr(CONFIG_KM_PHRAM) "\0"		\
 	"flashargs="							\
 		"setenv bootargs "					\
 		"ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " "		\
@@ -309,71 +259,25 @@
 	""
 
 /*
- * compute_addr
- * - compute addresses and sizes
- * - addresses are calculated form the end of memory 'memsize'
- *
- * - 'setramfspram': compute PRAM size for ramfs target
- * - 'setrootfsaddr': compute rootfilesystem address for phram
- */
-#define CONFIG_KM_DEF_ENV_COMPUTE_ADDR					\
-	"setboardid="							\
-		"if test \"x${boardId}\" = \"x\"; then; "		\
-		"setenv boardId ${IVM_BoardId} && "			\
-		"setenv hwKey ${IVM_HWKey}; "				\
-		"else; "						\
-		"echo \\\\c; "						\
-		"fi\0"							\
-	"setramfspram="							\
-		"setexpr value ${rootfssize} / 0x400 && "		\
-		"setexpr value 0x${value} + ${pram} && "		\
-		"setenv pram 0x${value}\0"				\
-	"setrootfsaddr="						\
-		"setexpr value ${pnvramaddr} - ${rootfssize} && "	\
-		"setenv rootfsaddr 0x${value}\0"			\
-	""
-
-/*
  * flash_boot
  * - commands for booting from flash
  *
- * - 'cramfsaddr': address to the cramfs (in ram)
  * - 'cramfsloadkernel': copy kernel from a cramfs to ram
  * - 'ubiattach': attach ubi partition
  * - 'ubicopy': copy ubi volume to ram
  *              - volume names: bootfs0, bootfs1, bootfs2, ...
- * - 'ubiparition': mtd parition name for ubi
  *
  * processor specific settings
  * - 'cramfsloadfdt': copy fdt from a cramfs to ram
  */
 #define CONFIG_KM_DEF_ENV_FLASH_BOOT					\
-	"cramfsaddr="xstr(CONFIG_KM_CRAMFS_ADDR) "\0"			\
+	"cramfsaddr=" xstr(CONFIG_KM_CRAMFS_ADDR) "\0"			\
 	"cramfsloadkernel="						\
 		"cramfsload ${kernel_addr_r} uImage && "		\
 		"setenv actual_kernel_addr ${kernel_addr_r}\0"		\
-	"ubiattach=ubi part ${ubipartition}\0"				\
-	"ubicopy=ubi read ${cramfsaddr} bootfs${boot_bank}\0"		\
-	"ubipartition=" CONFIG_KM_UBI_PARTITION_NAME "\0"		\
-	""
-
-/*
- * net_boot
- * - commands for booting over the network
- *
- * - 'tftpkernel': load a kernel with tftp into ram
- * - 'tftpramfs': load rootfs with tftp into ram
- *
- * processor specific settings
- * - 'tftpfdt': load fdt with tftp into ram
- */
-#define CONFIG_KM_DEF_ENV_NET_BOOT					\
-	"tftpkernel="							\
-		"tftpboot ${kernel_addr_r} ${kernel_file} && "		\
-		"setenv actual_kernel_addr ${kernel_addr_r}\0"		\
-	"tftpramfs="							\
-		"tftpboot ${rootfsaddr} \"\\\"${rootfsfile}\\\"\" && "	\
-		"setenv loadaddr\0"					\
+	"ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME "\0"		\
+	"ubicopy=ubi read "xstr(CONFIG_KM_CRAMFS_ADDR)			\
+			" bootfs${boot_bank}\0"				\
 	""
 
 /*
@@ -390,8 +294,6 @@
 	"default="							\
 		"setenv default 'run newenv; reset' &&  "		\
 		"run release && saveenv; reset\0"			\
-	"printbootargs=print bootargs\0"				\
-	"rootfsfile="xstr(CONFIG_HOSTNAME) "/rootfsImage\0"		\
 	"checkboardid=km_checkbidhwk\0"					\
 	""
 
@@ -403,17 +305,13 @@
 	CONFIG_KM_DEF_ENV_BOOTRUNNER					\
 	CONFIG_KM_DEF_ENV_BOOTTARGETS					\
 	CONFIG_KM_DEF_ENV_BOOTARGS					\
-	CONFIG_KM_DEF_ENV_COMPUTE_ADDR					\
 	CONFIG_KM_DEF_ENV_FLASH_BOOT					\
-	CONFIG_KM_DEF_ENV_NET_BOOT					\
 	CONFIG_KM_DEF_ENV_CONSTANTS					\
 	"altbootcmd=run bootcmd\0"					\
 	"bootcmd=run default\0"						\
 	"bootlimit=2\0"							\
 	"init=/sbin/init-overlay.sh\0"					\
 	"kernel_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0"		\
-	"kernel_file="xstr(CONFIG_HOSTNAME) "/uImage\0"			\
-	"kernel_name=uImage\0"						\
 	"load=tftpboot ${u-boot_addr_r} ${u-boot}\0"			\
 	"mtdids=" MTDIDS_DEFAULT "\0"					\
 	"mtdparts=" MTDPARTS_DEFAULT "\0"				\
diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h
index 3351609..d6db8d7 100644
--- a/include/configs/km/km-powerpc.h
+++ b/include/configs/km/km-powerpc.h
@@ -67,20 +67,14 @@
 #define CONFIG_KM_FDT_ADDR	0x7E0000	/* 128Kbytes */
 
 #define CONFIG_KM_DEF_ENV_CPU						\
-	"addbootcount=echo \\\\c\0"					\
-	"addmtdparts=echo \\\\c\0"					\
+	"addbootcount=true\0"						\
+	"addmtdparts=true\0"						\
 	"boot=bootm ${actual_kernel_addr} - ${actual_fdt_addr}\0"	\
 	"cramfsloadfdt="						\
 		"cramfsload ${fdt_addr_r} "				\
 		"fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb && "		\
 		"setenv actual_fdt_addr ${fdt_addr_r}\0"		\
 	"fdt_addr_r=" xstr(CONFIG_KM_FDT_ADDR) "\0"			\
-	"fdt_file="							\
-		xstr(CONFIG_HOSTNAME) "/"				\
-		xstr(CONFIG_HOSTNAME) ".dtb\0"				\
-	"tftpfdt="							\
-		"tftpboot ${fdt_addr_r} ${fdt_file} && "		\
-		"setenv actual_fdt_addr ${fdt_addr_r} \0"		\
 	"update="							\
 		"protect off " xstr(BOOTFLASH_START) " +${filesize} && "\
 		"erase " xstr(BOOTFLASH_START) "  +${filesize} && "	\
@@ -89,4 +83,6 @@
 		"protect on " xstr(BOOTFLASH_START) "  +${filesize}\0"  \
 	""
 
+#define CONFIG_KM_ARCH_DBG_FILE		"scripts/debug-ppc-env.txt"
+
 #endif /* __CONFIG_KEYMILE_POWERPC_H */
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 0148b24..33a8678 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -69,12 +69,11 @@
 		"bootcountaddr=${bootcountaddr}\0"			\
 	"addmtdparts=setenv bootargs ${bootargs} ${mtdparts}\0"		\
 	"boot=bootm ${actual_kernel_addr} - -\0"			\
-	"cramfsloadfdt=echo \\\\c\0"					\
-	"tftpfdt=echo \\\\c\0"						\
+	"cramfsloadfdt=true\0"						\
 	CONFIG_KM_DEF_ENV_UPDATE					\
 	""
 
-
+#define CONFIG_KM_ARCH_DBG_FILE		"scripts/debug-arm-env.txt"
 
 #define CONFIG_MD5	/* get_random_hex on krikwood needs MD5 support */
 #define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
-- 
1.7.0.5



More information about the U-Boot mailing list