riscv: v2025.10-rc2 fails on QEMU with "Failed to reserve memory for fdt"

Vivian Wang wangruikang at iscas.ac.cn
Wed Aug 13 10:50:44 CEST 2025


Hi Sughosh,

On 8/13/25 15:58, Sughosh Ganu wrote:
> On Tue, 12 Aug 2025 at 20:47, Vivian Wang <wangruikang at iscas.ac.cn> wrote:
>> [...]
>>
>> Retrieving file: /Image
>> Moving Image from 0x84000000 to 0x80200000, end=0x81e88000
>> ## Flattened Device Tree blob at bee8f640
>>   Booting using the fdt blob at 0xbee8f640
>> Working FDT set to bee8f640
>> Failed to reserve memory for fdt at 0xbee8f640
>> FDT creation failed! hanging...### ERROR ### Please RESET the board ###
> Looks like the FDT is part of the region reserved for U-boot image
> post relocation. That region is marked as no-overwrite, meaning any
> other allocation attempt to the region will fail. Please check the
> relevant log below. The relevant code is in
> boot/image-fdt.c:boot_relocate_fdt(). The code gets exercised because
> fdt_high and initrd_high are being set to all ones. This was working
> in 2025.07 simply because the function call's return value was not
> being checked.

Thanks for the troubleshooting. I confirm that just removing that line
fixes the problem.

TBH I don't understand what the right thing to do here is, especially
whether copying the FDT a second time is the right thing to do here, so
anyone else taking a look is still appreciated. I *think* it should be safe?

Vivian "dramforever" Wang



More information about the U-Boot mailing list