diff mbox series

[v2,2/2] km/scripts: product env and auto-reset for ramfs

Message ID 20200110115542.4910-2-holger.brunck@ch.abb.com
State Accepted
Commit d4348a8db79de3985c3a6b738056e5b00d4ad020
Headers show
Series [v2,1/2] km/scripts: fix run ramfs and COGE5 tftppath problem | expand

Commit Message

Holger Brunck Jan. 10, 2020, 11:55 a.m. UTC
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 <holger.brunck at ch.abb.com>
CC: Tom Rini <trini at konsulko.com>
---
 board/keymile/scripts/develop-common.txt | 3 ++-
 board/keymile/scripts/ramfs-common.txt   | 7 ++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

Comments

Tom Rini Jan. 23, 2020, 10:01 p.m. UTC | #1
On Fri, Jan 10, 2020 at 12:55:42PM +0100, Holger Brunck wrote:

> 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 <holger.brunck at ch.abb.com>
> CC: Tom Rini <trini at konsulko.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

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