From: Stephen Warren <swar...@nvidia.com>

Update the common Tegra boot scripts in the default environment to

a) Make use of the new "test -e" shell command to avoid some error
   messages.

b) Allow booting using the sysboot command and extlinux.conf. This
   allows easy creation of boot menus, and provides a simple interface
   for distros to parameterize/configure the boot process.

Signed-off-by: Stephen Warren <swar...@nvidia.com>
---
v4:
* Prioritize extlinux.conf over boot.scr.uimg when searching; it makes
  sense to use the cross-distro/-bootloader (hopeful) standard first.
* Replace ; in the middle of echo'd text in boot scripts.
* Add missing space between commands in boot scripts.
* s/exists/test -e/ in commmit description.
v3: s/exists/test -e/ in shell commands.
v2: No change.
---
 include/configs/tegra-common-post.h | 39 ++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)

diff --git a/include/configs/tegra-common-post.h 
b/include/configs/tegra-common-post.h
index e1a3bbc62636..3bf55ce428f2 100644
--- a/include/configs/tegra-common-post.h
+++ b/include/configs/tegra-common-post.h
@@ -69,20 +69,41 @@
 #define BOOTCMDS_COMMON \
        "rootpart=1\0" \
        \
+       "do_script_boot="                                                 \
+               "load ${devtype} ${devnum}:${rootpart} "                  \
+                       "${scriptaddr} ${prefix}${script}; "              \
+               "source ${scriptaddr}\0"                                  \
+       \
        "script_boot="                                                    \
-               "if load ${devtype} ${devnum}:${rootpart} "               \
-                               "${scriptaddr} ${prefix}${script}; then " \
-                       "echo ${script} found! Executing ...;"            \
-                       "source ${scriptaddr};"                           \
-               "fi;\0"                                                   \
+               "for script in ${boot_scripts}; do "                      \
+                       "if test -e ${devtype} ${devnum}:${rootpart} "    \
+                                       "${prefix}${script}; then "       \
+                               "echo Found U-Boot script "               \
+                                       "${prefix}${script}; "            \
+                               "run do_script_boot; "                    \
+                               "echo SCRIPT FAILED: continuing...; "     \
+                       "fi; "                                            \
+               "done\0"                                                  \
+       \
+       "do_sysboot_boot="                                                \
+               "sysboot ${devtype} ${devnum}:${rootpart} any "           \
+                       "${scriptaddr} ${prefix}extlinux.conf\0"          \
+       \
+       "sysboot_boot="                                                   \
+               "if test -e ${devtype} ${devnum}:${rootpart} "            \
+                               "${prefix}extlinux.conf; then "           \
+                       "echo Found extlinux config "                     \
+                               "${prefix}extlinux.conf; "                \
+                       "run do_sysboot_boot; "                           \
+                       "echo SCRIPT FAILED: continuing...; "             \
+               "fi\0"                                                    \
        \
        "scan_boot="                                                      \
                "echo Scanning ${devtype} ${devnum}...; "                 \
                "for prefix in ${boot_prefixes}; do "                     \
-                       "for script in ${boot_scripts}; do "              \
-                               "run script_boot; "                       \
-                       "done; "                                          \
-               "done;\0"                                                 \
+                       "run sysboot_boot; "                              \
+                       "run script_boot; "                               \
+               "done\0"                                                  \
        \
        "boot_targets=" \
                BOOT_TARGETS_MMC " " \
-- 
1.8.1.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to