From patchwork Fri Jan 10 11:55:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Holger Brunck X-Patchwork-Id: 239410 List-Id: U-Boot discussion From: holger.brunck at ch.abb.com (Holger Brunck) Date: Fri, 10 Jan 2020 12:55:42 +0100 Subject: [v2 2/2] km/scripts: product env and auto-reset for ramfs In-Reply-To: <20200110115542.4910-1-holger.brunck@ch.abb.com> References: <20200110115542.4910-1-holger.brunck@ch.abb.com> Message-ID: <20200110115542.4910-2-holger.brunck@ch.abb.com> This patch adds the possibility in both debug and ramfs modes to optionally load an env file from /tftpboot/$tftppath (this is ignored if not present, so the change is backward compatible). This gives the debug and ramfs scripts the possibility to set uboot environment variables that were previously asked the users to manually set (nfs path in debug and rootfs size in ramfs). Signed-off-by: Holger Brunck CC: Tom Rini --- board/keymile/scripts/develop-common.txt | 3 ++- board/keymile/scripts/ramfs-common.txt | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/board/keymile/scripts/develop-common.txt b/board/keymile/scripts/develop-common.txt index ba15323a5b..f77a26abe8 100644 --- a/board/keymile/scripts/develop-common.txt +++ b/board/keymile/scripts/develop-common.txt @@ -1,6 +1,6 @@ altbootcmd=run ${subbootcmds} bootcmd=run ${subbootcmds} -configure=run set_uimage; run set_tftppath; km_setboardid && saveenv && reset +configure=run set_uimage; run set_tftppath; km_setboardid && run try_import_nfs_path && saveenv && reset subbootcmds=tftpfdt tftpkernel nfsargs add_default boot nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${toolchain}/${arch} tftpfdt=if run set_fdthigh || test ${arch} != arm; then if tftpboot ${fdt_addr_r} ${tftppath}/fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb; then; else tftpboot ${fdt_addr_r} ${tftppath}/${hostname}.dtb; fi; else true; fi @@ -9,3 +9,4 @@ toolchain=/opt/eldk rootfssize=0 set_uimage=printenv uimage || setenv uimage uImage set_tftppath=if test ${hostname} = kmcoge5un; then setenv tftppath CI5UN; else if test ${hostname} = kmcoge5ne; then setenv tftppath CI5NE; else setenv tftppath ${IVM_Symbol}; fi; fi +try_import_nfs_path=if tftpboot 0x200000 ${tftppath}/nfs-path.txt; then env import -t 0x200000 ${filesize}; else echo no auto nfs path imported; echo you can set nfsargs in /tftpboot/${tftppath}/nfs-path.txt and rerun develop; fi diff --git a/board/keymile/scripts/ramfs-common.txt b/board/keymile/scripts/ramfs-common.txt index 61357e2c34..290c602aab 100644 --- a/board/keymile/scripts/ramfs-common.txt +++ b/board/keymile/scripts/ramfs-common.txt @@ -2,13 +2,14 @@ addramfs=setenv bootargs "${bootargs} phram.phram=rootfs${boot_bank},${rootfsadd boot_bank=-1 altbootcmd=run ${subbootcmds} bootcmd=run ${subbootcmds} -subbootcmds=tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs add_default addpanic addramfs boot +subbootcmds=save_and_reset_once tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs add_default addpanic addramfs boot +save_and_reset_once=setenv save_and_reset_once true && save && reset nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} -configure=run set_uimage; run set_tftppath; km_setboardid && saveenv && reset -rootfsfile=${hostname}/rootfsImage +configure=run set_uimage; run set_tftppath; km_setboardid && run try_import_rootfssize && saveenv && reset setrootfsaddr=setexpr value ${pnvramaddr} - ${rootfssize} && setenv rootfsaddr 0x${value} tftpfdt=if run set_fdthigh || test ${arch} != arm; then if tftpboot ${fdt_addr_r} ${tftppath}/fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb; then; else tftpboot ${fdt_addr_r} ${tftppath}/${hostname}.dtb; fi; else true; fi tftpkernel=tftpboot ${load_addr_r} ${tftppath}/${uimage} tftpramfs=tftpboot ${rootfsaddr} ${tftppath}/rootfsImage set_uimage=printenv uimage || setenv uimage uImage set_tftppath=if test ${hostname} = kmcoge5un; then setenv tftppath CI5UN; else if test ${hostname} = kmcoge5ne; then setenv tftppath CI5NE; else setenv tftppath ${IVM_Symbol}; fi; fi +try_import_rootfssize=if tftpboot 0x200000 ${tftppath}/rootfssize.txt; then env import -t 0x200000 ${filesize}; else echo no auto rootfs size; echo you can set rootfssize in /tftpboot/${tftppath}/rootfssize.txt and rerun ramfs; fi