diff --git a/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.sh b/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.sh index 6b04956e31f..a04666cc6b5 100644 --- a/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.sh +++ b/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.sh @@ -11,7 +11,8 @@ setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype # Preserve origin bootargs setenv bootargs_rpi -fdt addr ${fdt_addr} +setenv fdt_org ${fdt_addr} +fdt addr ${fdt_org} fdt get value bootargs_rpi /chosen bootargs setenv bootargs @@ -35,6 +36,7 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do fi done +setenv fdt_addr if test -n "${bootargs}"; then saveenv else @@ -48,7 +50,7 @@ fi echo "Loading kernel" run load_kernel echo " Starting kernel" -booti ${kernel_addr_r} - ${fdt_addr} +booti ${kernel_addr_r} - ${fdt_org} echo "Fails on boot" reset diff --git a/buildroot-external/board/raspberrypi/uboot-boot.sh b/buildroot-external/board/raspberrypi/uboot-boot.sh index d4f4e8fa991..7355334ce08 100644 --- a/buildroot-external/board/raspberrypi/uboot-boot.sh +++ b/buildroot-external/board/raspberrypi/uboot-boot.sh @@ -11,7 +11,8 @@ setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype # Preserve origin bootargs setenv bootargs_rpi -fdt addr ${fdt_addr} +setenv fdt_org ${fdt_addr} +fdt addr ${fdt_org} fdt get value bootargs_rpi /chosen bootargs setenv bootargs @@ -35,6 +36,7 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do fi done +setenv fdt_addr if test -n "${bootargs}"; then saveenv else @@ -48,7 +50,7 @@ fi echo "Loading kernel" run load_kernel echo " Starting kernel" -bootz ${kernel_addr_r} - ${fdt_addr} +bootz ${kernel_addr_r} - ${fdt_org} echo "Fails on boot" reset diff --git a/buildroot-external/misc/rauc-hook b/buildroot-external/misc/rauc-hook index c041a79609a..0abdcf50fda 100755 --- a/buildroot-external/misc/rauc-hook +++ b/buildroot-external/misc/rauc-hook @@ -20,4 +20,9 @@ if [ -L /var/lib/systemd/timesync ]; then rm -f /var/lib/systemd/timesync fi +# u-boot first stage device tree +if [ -e /usr/sbin/fw_setenv ]; then + fw_setenv fdt_addr +fi + exit 0