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

**URL:** <https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541>\
**Category:** Jetson Xavier NX\
**Tags:** boot\
**Created:** [February 5, 2022, 12:16pm UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541 "2022-02-05T12:16:59Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![harry\_xiaye](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@harry\_xiaye](https://forums.developer.nvidia.com/u/harry_xiaye)\
**Post date:** [February 5, 2022, 12:16pm UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/1 "2022-02-05T12:16:59Z")

</div>

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

./kernel\_tegra194-p3668-all-p3509-0000.dtb  
./dtb/kernel\_tegra194-p3668-all-p3509-0000.dtb  
./tegra194-p3668-all-p3509-0000.dtb

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?

---

<div class="post-metadata">

**Author:** ![WayneWWW](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/waynewww/32/14043_2.png) [@WayneWWW](https://forums.developer.nvidia.com/u/WayneWWW)\
**Post date:** [February 5, 2022, 3:47pm UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/2 "2022-02-05T15:47:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![harry\_xiaye](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@harry\_xiaye](https://forums.developer.nvidia.com/u/harry_xiaye)\
**Post date:** [February 6, 2022, 4:33am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/3 "2022-02-06T04:33:01Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![WayneWWW](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/waynewww/32/14043_2.png) [@WayneWWW](https://forums.developer.nvidia.com/u/WayneWWW)\
**Post date:** [February 6, 2022, 5:37am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/4 "2022-02-06T05:37:37Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [February 6, 2022, 7:18pm UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/5 "2022-02-06T19:18:49Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![harry\_xiaye](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@harry\_xiaye](https://forums.developer.nvidia.com/u/harry_xiaye)\
**Post date:** [February 7, 2022, 12:38am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/6 "2022-02-07T00:38:04Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![harry\_xiaye](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@harry\_xiaye](https://forums.developer.nvidia.com/u/harry_xiaye)\
**Post date:** [February 7, 2022, 12:39am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/7 "2022-02-07T00:39:30Z")

</div>

No. My extlinux.conf has no FDT entry.

---

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [February 7, 2022, 7:08pm UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/8 "2022-02-07T19:08:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![harry\_xiaye](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@harry\_xiaye](https://forums.developer.nvidia.com/u/harry_xiaye)\
**Post date:** [February 8, 2022, 2:31am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/9 "2022-02-08T02:31:19Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![WayneWWW](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/waynewww/32/14043_2.png) [@WayneWWW](https://forums.developer.nvidia.com/u/WayneWWW)\
**Post date:** [February 8, 2022, 2:46am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/10 "2022-02-08T02:46:26Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![harry\_xiaye](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@harry\_xiaye](https://forums.developer.nvidia.com/u/harry_xiaye)\
**Post date:** [February 8, 2022, 7:56am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/11 "2022-02-08T07:56:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![WayneWWW](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/waynewww/32/14043_2.png) [@WayneWWW](https://forums.developer.nvidia.com/u/WayneWWW)\
**Post date:** [February 8, 2022, 7:58am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/12 "2022-02-08T07:58:26Z")

</div>

kernel and dtb could be generated from the source code.

[https://developer.nvidia.com/embedded/linux-tegra-archive](https://developer.nvidia.com/embedded/linux-tegra-archive)

Doc: [https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/kernel\_custom.html#](https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/kernel_custom.html#)

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/system/32/68080_2.png) [@system](https://forums.developer.nvidia.com/u/system)\
**Post date:** [February 22, 2022, 7:59am UTC](https://forums.developer.nvidia.com/t/difference-for-boot-xxxx-dtb-and-boot-dtb-xxxx-dtb/202541/13 "2022-02-22T07:59:14Z")

</div>

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