[BUG] Set device tree bootargs failed when DTB does not contain a chosen node.

Bhupesh Sharma bhsharma at redhat.com
Fri Oct 26 15:55:43 PDT 2018

Hi Vicenç,

On Fri, Oct 26, 2018 at 6:42 PM Vicente Bergas <vicencb at gmail.com> wrote:
> Hello,
> when executing
>   kexec -d --dtb dtb_without_chosen_node.dtb --append 'cmdline' --load Image
> it reports
>   dtb_set_property: fdt_add_subnode failed: <valid offset/length>
>   kexec: Set device tree bootargs failed.
> It has been tested on the arm64 architecture with version v2.0.17 and
> v2.0.18-rc1

Can you share some details on the underlying platform and kernel
version you are using?

Looking at the logs, I am assuming you are running 'kexec' on a arm64
platform (as it depends on creating a dtb to be passed to the 2nd

My general advice is to avoid the --dtb option as it is known to cause
issues with kexec in the past (see [0] for details)
Ideally, if you don't use the --dtb option, then kexec will read the existing
kernel's dtb from /proc/device-tree, and that device tree will include
all the changes that the boot loader has done, including adding details
of the available memory in the system.

[0]. https://www.spinics.net/lists/arm-kernel/msg618236.html

Hope this helps.


More information about the kexec mailing list