Skip to content

Commit f199819

Browse files
committed
rk3308: pin fdt/ramdisk load addresses for v2026.07 (fix booti FDT)
With u-boot bumped to v2026.07, the board boots far enough to load kernel+initrd +dtb but booti aborts: "Could not find a valid device tree". The new u-boot's default load addresses are tighter — the ~38MB kernel Image overlaps and clobbers the dtb at fdt_addr_r=0x01f00000 before booti reads it. Confirmed on hardware (rockpi-s, u-boot console): relocating fdt_addr_r=0x08000000 and ramdisk_addr_r=0x0a000000 (both clear of the kernel, both within 256MB) boots cleanly. Pin them via armbianEnv.txt, which boot.cmd env-imports before loading the dtb/ramdisk. Applied to both rk3308 boards (rockpi-s, rock-s0). Signed-off-by: Igor Pecovnik <igor@armbian.com>
1 parent 8db509b commit f199819

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

config/boards/rock-s0.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,12 @@ function pre_install_kernel_debs__enforce_cma() {
4646
display_alert "$BOARD" "set CMA size to 16MB due to small DRAM size"
4747
run_host_command_logged echo "extraargs=cma=16M" ">>" "${SDCARD}"/boot/armbianEnv.txt
4848

49+
# u-boot v2026.07's default load addresses overlap on this small (256MB) rk3308
50+
# board: the ~38MB kernel Image clobbers the dtb at fdt_addr_r=0x01f00000, so booti
51+
# aborts with "Could not find a valid device tree". Pin fdt + ramdisk clear of the
52+
# kernel and within 256MB (boot.cmd env-imports armbianEnv.txt before it loads them).
53+
run_host_command_logged echo "fdt_addr_r=0x08000000" ">>" "${SDCARD}"/boot/armbianEnv.txt
54+
run_host_command_logged echo "ramdisk_addr_r=0x0a000000" ">>" "${SDCARD}"/boot/armbianEnv.txt
55+
4956
return 0
5057
}

config/boards/rockpi-s.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,12 @@ function pre_install_kernel_debs__enforce_cma() {
4747
display_alert "$BOARD" "set CMA size to 16MB due to small DRAM size"
4848
run_host_command_logged echo "extraargs=cma=16M" ">>" "${SDCARD}"/boot/armbianEnv.txt
4949

50+
# u-boot v2026.07's default load addresses overlap on this small (256MB) rk3308
51+
# board: the ~38MB kernel Image clobbers the dtb at fdt_addr_r=0x01f00000, so booti
52+
# aborts with "Could not find a valid device tree". Pin fdt + ramdisk clear of the
53+
# kernel and within 256MB (boot.cmd env-imports armbianEnv.txt before it loads them).
54+
run_host_command_logged echo "fdt_addr_r=0x08000000" ">>" "${SDCARD}"/boot/armbianEnv.txt
55+
run_host_command_logged echo "ramdisk_addr_r=0x0a000000" ">>" "${SDCARD}"/boot/armbianEnv.txt
56+
5057
return 0
5158
}

0 commit comments

Comments
 (0)