diff options
| author | Walter Schweizer <[email protected]> | 2026-02-17 17:39:09 +0100 |
|---|---|---|
| committer | Fabio Estevam <[email protected]> | 2026-02-28 15:31:50 -0300 |
| commit | 2b19fea315ccd3ac40621b00619cae7a5b95ee17 (patch) | |
| tree | 8ad9dcd180aefec562ccef43cd9482cd95fb4169 | |
| parent | c019f813149325d4f3f8f9b94255e3fb4d3881e5 (diff) | |
siemens: capricorn: fix fallback bootm call for fitImage
When dtb_name is missing or a configuration is missing, try to
boot the default configuration in the image. The call to bootm needs
the correct loadaddr to succeed.
Fixes booting when factoryset is missing.
Signed-off-by: Walter Schweizer <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
| -rw-r--r-- | board/siemens/capricorn/capricorn_default.env | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/board/siemens/capricorn/capricorn_default.env b/board/siemens/capricorn/capricorn_default.env index ad88f7ed770..c150025c882 100644 --- a/board/siemens/capricorn/capricorn_default.env +++ b/board/siemens/capricorn/capricorn_default.env @@ -20,7 +20,14 @@ ip_method=none kernel_name=Image loadaddr=0x80400000 mmc_boot=run set_bootargs;run check_upgrade; run set_partition;run set_bootargs_mmc;run mmc_load_bootfiles -mmc_boot_fit=ext4load mmc 0:${mmc_part_nr} 0x88000000 boot/fitImage;if test -n ${A};then setenv bootargs ${bootargs} rootfs_sig=${sig_a};fi;if test -n ${B};then setenv bootargs ${bootargs} rootfs_sig=${sig_b};fi;bootm 0x88000000#conf-${dtb_name}.dtb;bootm +mmc_boot_fit=ext4load mmc 0:${mmc_part_nr} 0x88000000 boot/fitImage; + if test -n ${A};then + setenv bootargs ${bootargs} rootfs_sig=${sig_a}; + fi; + if test -n ${B};then + setenv bootargs ${bootargs} rootfs_sig=${sig_b}; + fi; + bootm 0x88000000#conf-${dtb_name}.dtb;bootm 0x88000000 mmc_boot_image=ext4load mmc 0:${mmc_part_nr} ${fdt_addr} boot/${dtb_name}.dtb;if test $? -eq 1;then ext4load mmc 0:${mmc_part_nr} ${fdt_addr} boot/${dtb_name_default}.dtb;fi; ext4load mmc 0:${mmc_part_nr} ${loadaddr} boot/${kernel_name}; booti ${loadaddr} - ${fdt_addr} mmc_load_bootfiles=echo -n Loading from eMMC ...; if test -e mmc 0:${mmc_part_nr} boot/fitImage; then echo fit; setenv fdt_high; setenv initrd_high; run mmc_boot_fit; else echo image; run mmc_boot_image; fi net_nfs=wdt dev scu-wdt; wdt stop; echo Booting from network ...; run set_bootargs_net; tftpboot ${loadaddr} ${bootdir}/${kernel_name}; printenv bootargs; if test ${kernel_name} = fitImage; then setenv fdt_high; setenv initrd_high; bootm ${loadaddr}#conf-${dtb_name}.dtb; else tftpboot ${fdt_addr} ${serverip}:${bootdir}/${dtb_name}.dtb; if test $? -eq 1; then echo Loading default.dtb!; tftpboot ${fdt_addr} ${serverip}:${bootdir}/${dtb_name_default}.dtb; fi; booti ${loadaddr} - ${fdt_addr}; fi |
