[U-Boot] [PATCH v3 2/3] km/common: simplify default environment

Holger Brunck holger.brunck at keymile.com
Wed May 11 10:57:16 CEST 2011


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>
Signed-off-by: Valentin Longchamp <valentin.longchamp 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>

---
Changes for v3:
   - no change in the content of the patch

Changes for v2:
   - split up first large patch serie to three independent smaller
     patch series
   - no change in the content of this patch

 board/keymile/scripts/README               |   23 +++++
 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, 55 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..86c2b5a
--- /dev/null
+++ b/board/keymile/scripts/README
@@ -0,0 +1,23 @@
+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 6a5ecc6..9ad2e5b 100644
--- a/include/configs/km/keymile-common.h
+++ b/include/configs/km/keymile-common.h
@@ -169,13 +169,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"						\
 	""
@@ -186,8 +181,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
  */
@@ -201,40 +194,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 \""					\
@@ -242,8 +201,7 @@
 		"ubiattach ubicopy "					\
 		"cramfsloadfdt cramfsloadkernel "			\
 		"flashargs ${commonargs} "				\
-		"addpanic "						\
-		"printbootargs boot "					\
+		"addpanic boot "					\
 		"\" && "						\
 		"setenv bootcmd \'"					\
 		"run actual bootrunner; reset"				\
@@ -251,8 +209,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"				\
 	""
 
 /*
@@ -262,10 +224,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
@@ -280,25 +240,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 " "		\
@@ -307,71 +257,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"				\
 	""
 
 /*
@@ -388,8 +292,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"					\
 	""
 
@@ -401,17 +303,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 add5624..991ae9f 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -66,12 +66,11 @@
 #define CONFIG_KM_DEF_ENV_CPU						\
 	"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.1



More information about the U-Boot mailing list