Skip to content
Snippets Groups Projects
Commit 5a6440ca authored by Christopher Spinrath's avatar Christopher Spinrath Committed by Stefano Babic
Browse files

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: default avatarChristopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
parent 3ef5f671
No related branches found
No related tags found
No related merge requests found
...@@ -83,7 +83,6 @@ ...@@ -83,7 +83,6 @@
"uImage=uImage-cm-fx6\0" \ "uImage=uImage-cm-fx6\0" \
"zImage=zImage-cm-fx6\0" \ "zImage=zImage-cm-fx6\0" \
"kernel=uImage-cm-fx6\0" \ "kernel=uImage-cm-fx6\0" \
"script=boot.scr\0" \
"dtb=cm-fx6.dtb\0" \ "dtb=cm-fx6.dtb\0" \
"console=ttymxc3,115200\0" \ "console=ttymxc3,115200\0" \
"ethprime=FEC0\0" \ "ethprime=FEC0\0" \
...@@ -121,11 +120,8 @@ ...@@ -121,11 +120,8 @@
"run_eboot=echo Starting EBOOT ...; "\ "run_eboot=echo Starting EBOOT ...; "\
"mmc dev 2 && " \ "mmc dev 2 && " \
"mmc rescan && mmc read 10042000 a 400 && go 10042000\0" \ "mmc rescan && mmc read 10042000 a 400 && go 10042000\0" \
"loadscript=load ${storagetype} ${storagedev} ${scriptaddr} ${script};\0"\
"loadkernel=load ${storagetype} ${storagedev} ${kernel_addr_r} ${kernel};\0"\ "loadkernel=load ${storagetype} ${storagedev} ${kernel_addr_r} ${kernel};\0"\
"loadfdt=load ${storagetype} ${storagedev} ${fdt_addr_r} ${dtb};\0" \ "loadfdt=load ${storagetype} ${storagedev} ${fdt_addr_r} ${dtb};\0" \
"bootscript=echo Running bootscript from ${storagetype} ...;" \
"source ${scriptaddr};\0" \
"nandloadkernel=nand read ${kernel_addr_r} 0 780000;\0" \ "nandloadkernel=nand read ${kernel_addr_r} 0 780000;\0" \
"nandloadfdt=nand read ${fdt_addr_r} 780000 80000;\0" \ "nandloadfdt=nand read ${fdt_addr_r} 780000 80000;\0" \
"setupmmcboot=setenv storagetype mmc; setenv storagedev 2;\0" \ "setupmmcboot=setenv storagetype mmc; setenv storagedev 2;\0" \
...@@ -139,9 +135,7 @@ ...@@ -139,9 +135,7 @@
"fi;" \ "fi;" \
"run storagebootcmd;" \ "run storagebootcmd;" \
"fi;\0" \ "fi;\0" \
"trybootsmz=if run loadscript; then " \ "trybootsmz=" \
"run bootscript;" \
"fi;" \
"run setboottypem;" \ "run setboottypem;" \
"run trybootk;" \ "run trybootk;" \
"run setboottypez;" \ "run setboottypez;" \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment