
Hi Lothar,
On 06/09/2013 20:10, lothar@denx.de wrote:
From 24b6381162b4569ab86b481b8714d81877231f22 Mon Sep 17 00:00:00 2001 From: Lothar Rubusch lothar@denx.de Date: Fri, 6 Sep 2013 15:01:39 +0200 Subject: [PATCH] m28evk board specific configurations for setup with ext boot partition and separate ext rootfs
Generally I think it is better you have a smaller commit subject and you increase the commit log with all changes.
However:
Signed-off-by: Lothar Rubusch lothar@denx.de
include/configs/m28evk.h | 78 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 3 deletions(-)
diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h index eba8759..b65456e 100644 --- a/include/configs/m28evk.h +++ b/include/configs/m28evk.h @@ -150,15 +150,25 @@ #endif
/* Booting Linux */ -#define CONFIG_BOOTDELAY 3 +#define CONFIG_BOOTDELAY 5 #define CONFIG_BOOTFILE "uImage" #define CONFIG_BOOTARGS "console=ttyAMA0,115200n8 " -#define CONFIG_BOOTCOMMAND "run bootcmd_net" +#define CONFIG_BOOTCOMMAND "run mmc_mmc" #define CONFIG_LOADADDR 0x42000000 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
/* Extra Environment */ #define CONFIG_EXTRA_ENV_SETTINGS \
- "fdtfile=imx28-m28evk.dtb\0" \
- "consdev=ttyAMA0\0" \
- "baudrate=115200\0" \
- "bootdev=/dev/mmcblk0p2\0" \
- "rootdev=/dev/mmcblk0p3\0" \
- "netdev=eth0\0" \
- "hostname=m28evk\0" \
- "rootpath=/opt/eldk-5.3/armv5te/rootfs-qte-sdk\0" \
I know very well why, but this is against the logic that the delivered environment is quite generic for all situation. Setting rootpath is for me not different as setting ip address, that is it is a local configuration and should be not linked with the code.
- "kernel_addr_r=0x42000000\0" \
- "fdt_addr_r=0x41000000\0" \ "update_nand_full_filename=u-boot.nand\0" \ "update_nand_firmware_filename=u-boot.sb\0" \ "update_sd_firmware_filename=u-boot.sd\0" \
@@ -196,7 +206,69 @@ "setexpr fw_sz ${fw_sz} + 1 ; " \ "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \ "fi ; " \
"fi\0"
"fi\0" \
- "addcons=setenv bootargs ${bootargs}
console=${consdev},${baudrate}\0" \
- "addip=" \
"setenv bootargs ${bootargs} " \
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:" \
"${hostname}:${netdev}:off\0" \
- "addmisc=setenv bootargs ${bootargs} ${miscargs}\0" \
- "adddfltmtd=" \
"if test \"x${mtdparts}\" == \"x\" ; " \
"then mtdparts default ; " \
"fi\0" \
- "addmtd=" \
"run adddfltmtd ; " \
"setenv bootargs ${bootargs} ${mtdparts}\0" \
- "addargs=run addcons addmtd addmisc\0" \
- "kernel_mmcload=" \
"mmc rescan ; " \
"ext2load mmc 0:2 ${kernel_addr_r} ${bootfile}\0" \
- "kernel_nandload=nand read ${kernel_addr_r} kernel\0" \
- "kernel_netload=tftp ${kernel_addr_r} ${bootfile}\0" \
- "fdt_mmcload=" \
"mmc rescan ; " \
"ext2load mmc 0:2 ${fdt_addr_r} ${fdtfile}\0" \
- "fdt_nandload=nand read ${fdt_addr_r} fdt\0" \
- "fdt_netload=tftp ${fdt_addr_r} ${fdtfile}\0" \
- "miscargs=nohlt panic=1\0" \
- "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \
- "nandargs=" \
"setenv bootargs ubi.mtd=6 root=ubi0:rootfs " \
"rootfstype=ubifs\0" \
- "nfsargs=" \
"setenv bootargs root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath},v3,tcp\0" \
- "mmcload=run kernel_mmcload fdt_mmcload\0" \
- "nandload=run kernel_nandload fdt_nandload\0" \
- "netload=run kernel_netload fdt_netload\0" \
- "mmc_nfs=" \
"run mmcload nfsargs addip addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "mmc_mmc=" \
"run mmcload mmcargs addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "mmc_nand=" \
"run mmcload nandargs addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "nand_mmc=" \
"run nandload mmcargs addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "nand_nfs=" \
"run nandload nfsargs addip addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "nand_nand=" \
"run nandload nandargs addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "net_mmc=" \
"run netload mmcargs addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "net_nfs=" \
"run netload nfsargs addip addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
- "net_nand=" \
"run netload nandargs addargs ; " \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"
/* The rest of the configuration is shared */ #include <configs/mxs.h>
Even if it is smaller, I guess we fight with the same issue of Dennis' patch:
http://patchwork.ozlabs.org/patch/261969/
that I rejected. We are moving from a a dynamic environment to a fully static environment, decided at compile time. If you read the whole thread, you can also see Wolfgang's comments about it. Generally, U-Boot is thought to be easy extendible with the environment, and each user can add his own environment on base of his needs.
However, in the last times I got al lot of changes to fix the environment - suitable for one use case. It is true, I merged most of them (shame on me !), but it seems to me that doing in this way becomes not maintainable.
In the discussion about Dennis's patch there are some proposals how to get a single image (we have plenty of tools in u-boot to get a ready to use image for the environment and to import it to set is as current one), and how to import / export the environment.
Maybe should we change the way we are adding the environment ? It should be better (*really* better) if we do not need to change the code when a variable is changed. We could maybe define a standard way (common command) to load the environment from the storage, and only this command can be put into CONFIG_EXTRA_ENV_SETTINGS. The whole environment itself will be put into a separate file(s), compiled as image and loaded when needed. The user could select which file must be loaded.
Best regards, Stefano Babic