Runtime update the dtb without USB on jetson xavier

i want to update dtb without USB ,i found 2 ways to do that. the first is A/B update,the second is to modify the file extlinux.conf. But None of them could work.

  1. when i used the second way :
    My problem is :Even delete the file extlinux.conf,the xavier always could seems like no effect on boot.
    2.when i used the A/B update:
    the dtb is not updated.Here is the boot log and update log.

can you help me to solve it?
nv_update_engine.log (2.4 KB) boot.log (111.0 KB)

the jetpack version is 4.2.2.

hello 544485316,

Xavier using CBoot to load device tree,
there’s an update in the latest release, it could choose the device tree from kernel-dtb partition of from the FDT entry.
suggest you should moving to the latest JetPack release, i.e. JetPack-4.4 / l4t-r32.4.3

please also check developer guide,
you may refer to CBoot session and check [Kernel Boot Sequence Using extlinux.conf] for more details.

Hi Herry
thanks for reply,i’ll chose 4.4 for a try.
but another question,why nv_update_engine do not work?Can you check the log i upload and give me some sugestion?

hello 544485316,

please moving to JetPack-4.4, you may using extlinux.conf to have selection of device tree sources.

you may check Bootloader Redundancy chapter,
it’ll switch to another unused slots if the current slot is corrupted; it’s by default automatically maintains the same Bootloader image on both Bootloader slots.
according to your messages below, it’s actually load kernel-dtb…

[0005.911] I> Loading kernel-dtb from partition ...
[0005.911] I> A/B: bin_type (38) slot 1
[0005.912] I> Loading partition kernel-dtb_b at 0x90000000 from device(0x1)
[0005.917] I> T19x: Authenticate kernel-dtb (bin_type: 38), max size 0x400000