Difference for /boot/xxxx.dtb and /boot/dtb/xxxx.dtb

On my NX developer board, I can see some dtb files under /boot like below:


What is difference for those dtb files? Which one is uesed by bootloader?

From Jetson-io, it looks /boot/dtb/kernel_tegra194-p3668-all-p3509-0000.dtb is used, and the dtbo files under /boot are used. Then how /boot/kernel_tegra194-p3668-all-p3509-0000.dtb is used, and /boot/tegra194-p3668-all-p3509-0000.dtb?

None of this dtb is in use by bootloader with default setting. The dtb is loaded from kernel-dtb partition.

So the dtb files under /boot nad /boot/dtb are not used? But if I use Jetson-io, it will read dtb from /boot/dtb and read dtbos from /boot, right? If so, jetson-io tool does not read the correct dtb data?

jetson-io will write a “FDT” field inside the /boot/extlinux/extlinux.conf and that path have higher priority than the dtb in the partition.

To clarify, does your “/boot/extlinux/extlinux.conf” have an “FDT” entry naming a “.dtb” file? If a non-partition tree is used, then that entry is what names the specific file.

The device will read dtb from the partition, but jetson-io will read dtb from /boot/dtb, will that cause issue since they may not be same?

No. My extlinux.conf has no FDT entry.

In that case all reads are from the partition. The “/boot” device tree content will have no effect.

If I use jetson-io to change and config GPIO, jetson-io will generate dtb file under /boot and add FDT entry in extlinux.conf, right?

Yes, and the bootloader will read the dtb from rootfs instead of partition if FDT exists.

OK. Another question is how the files under /boot generated?

kernel and dtb could be generated from the source code.

Doc: https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/kernel_custom.html#

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.