Updating device-tree on TX2 R32.6.1

Hello,

While updating the nvidia-l4t packages, I noticed the nvidia-l4t-kernel-dtbs package, which seems to be updating the device-trees on the TX2. Looking at the package, I noticed that it was updating the .dtb files in the /boot directory.

I was always under the impression that the only mechanism to update the device trees was by putting the device in recovery mode and flashing using the flash.sh tool, because the device trees were also signed and flashed in to other partitions for other parts of the boot process to use.

But does that mean that the device tree used by linux is the one in /boot. In that case would it be a problem if a device tree was flashed using flash.sh, and another one was used to replace the one found in /boot?

I wish there was clearer documentation on how this work.

Let me just post another comment I just wrote 30 mins ago here.

This may explain how to use dtb from rootfs.

As for the debian package, actually it is not the one that makes the system use different dtb. Other deb files did that work to change the dtb in partition.

Hi @WayneWWW

Thanks for the information. May I know which nvidia-l4t-* package actually does the changing of the dtb in partition? I want to ensure that package is set on hold so it doesn’t actually over-write the custom DTB that I flashed in.

Also @WayneWWW

Another related question. What about the BPMP bootloader DTB files? Like tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb Can those also be changed using extlinux.conf?

nvidia-l4t-bootloader will overwrite the whole partition. Including the DTB.

Another related question. What about the BPMP bootloader DTB files? Like tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb Can those also be changed using extlinux.conf ?

No, this kind of dtb is not used by kernel. This is read by our bpmp. The only method to update it on device is using the BUP update.

1 Like