Commit 5a6440cac77db8083aa9b7f260e0ff3e994e7834

Authored by Christopher Spinrath
Committed by Stefano Babic
1 parent 3ef5f6714a

ARM: imx: cm_fx6: env: don't run boot scripts twice

Boot scripts located in the root directory of the first partition of
USB, mmc, and SATA drives are executed twice: first by the distro boot
command and then by the legacy boot command. This may have weird side
effects if those scripts only change or extend the environment
(including parts of the boot command itself).

Removing the script execution from the legacy boot command has its own
caveats. For instance, the distro boot command may execute the boot.scr
on the mmc drive, then the boot.scr on the SATA drive, before the
legacy boot command actually boots from the mmc drive. However, the
current behavior would only execute the boot.scr once more before the
actual boot, but it does not prevent the script located on the SATA
drive from being executed, and thus, both scripts from being mixed up.

Considering that the legacy boot command is only in place to boot old
(standard) installations, let's go with the resolution having less
custom code and remove the script execution from the legacy boot
command.

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>

Showing 1 changed file with 1 additions and 7 deletions Side-by-side Diff

include/configs/cm_fx6.h
... ... @@ -83,7 +83,6 @@
83 83 "uImage=uImage-cm-fx6\0" \
84 84 "zImage=zImage-cm-fx6\0" \
85 85 "kernel=uImage-cm-fx6\0" \
86   - "script=boot.scr\0" \
87 86 "dtb=cm-fx6.dtb\0" \
88 87 "console=ttymxc3,115200\0" \
89 88 "ethprime=FEC0\0" \
90 89  
... ... @@ -121,11 +120,8 @@
121 120 "run_eboot=echo Starting EBOOT ...; "\
122 121 "mmc dev 2 && " \
123 122 "mmc rescan && mmc read 10042000 a 400 && go 10042000\0" \
124   - "loadscript=load ${storagetype} ${storagedev} ${scriptaddr} ${script};\0"\
125 123 "loadkernel=load ${storagetype} ${storagedev} ${kernel_addr_r} ${kernel};\0"\
126 124 "loadfdt=load ${storagetype} ${storagedev} ${fdt_addr_r} ${dtb};\0" \
127   - "bootscript=echo Running bootscript from ${storagetype} ...;" \
128   - "source ${scriptaddr};\0" \
129 125 "nandloadkernel=nand read ${kernel_addr_r} 0 780000;\0" \
130 126 "nandloadfdt=nand read ${fdt_addr_r} 780000 80000;\0" \
131 127 "setupmmcboot=setenv storagetype mmc; setenv storagedev 2;\0" \
... ... @@ -139,9 +135,7 @@
139 135 "fi;" \
140 136 "run storagebootcmd;" \
141 137 "fi;\0" \
142   - "trybootsmz=if run loadscript; then " \
143   - "run bootscript;" \
144   - "fi;" \
  138 + "trybootsmz=" \
145 139 "run setboottypem;" \
146 140 "run trybootk;" \
147 141 "run setboottypez;" \