summaryrefslogtreecommitdiff
path: root/recipes-bsp
diff options
context:
space:
mode:
authorMing Liu <ming.liu@toradex.com>2023-03-14 12:39:20 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2023-04-04 18:00:43 +0200
commit9d50761711820fc85c1ae81826e338e01045e691 (patch)
tree5a18ee0819f99719a867024937e73e6552ec6000 /recipes-bsp
parentbfcb42ac8dbf9beb2f6634751ff6b71dcdd21691 (diff)
u-boot-distro-boot: boot.cmd.in: fix fitimage boot failure
Since commit 4f16c57dda5f49cef1648ba829d9bf10cb4010dc: [ u-boot: distro-boot-script: support booti automatic decompression ] For the boards that support "booti automatic decompression", the kernel_addr_load had been set to ${loadaddr} rather than ${ramdisk_addr_r} for fitImage, this is breaking fitImage boot due to overlapping DTB/DTBO addresses. Change it back to boot from ${ramdisk_addr_r} for fitImage. Signed-off-by: Ming Liu <ming.liu@toradex.com> (cherry picked from commit 4d6e71f6b40415841d402afdbd54c9c89adf10f5)
Diffstat (limited to 'recipes-bsp')
-rw-r--r--recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in21
1 files changed, 10 insertions, 11 deletions
diff --git a/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in b/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in
index 4b84bdd..6969a55 100644
--- a/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in
+++ b/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in
@@ -73,22 +73,21 @@ else
env set setupargs console=tty1 console=${console},${baudrate} consoleblank=0
fi
-if test -n ${kernel_comp_addr_r}; then
- # use booti automatic decompression
- env set kernel_addr_load ${loadaddr}
+if test ${kernel_image} = "fitImage"; then
+ env set kernel_addr_load ${ramdisk_addr_r}
env set bootcmd_unzip ';'
else
- if test ${kernel_image} = "Image.gz"
- then
+ if test -n ${kernel_comp_addr_r}; then
+ # use booti automatic decompression
env set kernel_addr_load ${loadaddr}
- env set bootcmd_unzip 'unzip ${kernel_addr_load} ${kernel_addr_r}'
- else
env set bootcmd_unzip ';'
- if test ${kernel_image} = "fitImage"
- then
- env set kernel_addr_load ${ramdisk_addr_r}
+ else
+ if test ${kernel_image} = "Image.gz"; then
+ env set kernel_addr_load ${loadaddr}
+ env set bootcmd_unzip 'unzip ${kernel_addr_load} ${kernel_addr_r}'
else
env set kernel_addr_load ${kernel_addr_r}
+ env set bootcmd_unzip ';'
fi
fi
fi
@@ -102,7 +101,7 @@ then
env set fdt_resize true
env set set_bootcmd_dtb 'env set bootcmd_dtb "true"'
env set set_apply_overlays 'env set apply_overlays "for overlay_file in \"\\${fdt_overlays}\"; do env set fitconf_fdt_overlays \"\\"\\${fitconf_fdt_overlays}#conf-\\${overlay_file}\\"\"; env set overlay_file; done; true"'
- env set bootcmd_boot 'echo "Bootargs: \${bootargs}" && bootm ${ramdisk_addr_r}#conf-@@KERNEL_DTB_PREFIX@@\${fdtfile}\${fitconf_fdt_overlays}'
+ env set bootcmd_boot 'echo "Bootargs: \${bootargs}" && bootm ${kernel_addr_load}#conf-@@KERNEL_DTB_PREFIX@@\${fdtfile}\${fitconf_fdt_overlays}'
else
env set fdt_resize 'fdt addr ${fdt_addr_r} && fdt resize 0x20000'
env set set_bootcmd_dtb 'env set bootcmd_dtb "echo Loading DeviceTree: \\${fdtfile}; ${load_cmd} \\${fdt_addr_r} \\${fdtfile}"'