How and where to put DTBO built on a non-standard location

I’m building Jetson’s software form source code (available in sources directory as will see below).
Build is successful, I managed to flash the board and I definitely see my changes working in relation to kernel Image and DTB file. This is the working command for flashing it (as you can see I use both -K and -d options):

me@pc:~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra$ sudo ./flash.sh -K sources/__kernel_build_output/arch/arm64/boot/Image -d sources/__kernel_build_output/arch/arm64/boot/dts/nvidia/tegra194-p2888-0001-p2822-0000.dtb jetson-xavier mmcblk0p1

The problem is with the DTBO (a DT overlay with essential changes for my project), which is available here, but I don’t know how (and where) to transfer it on Jetson’s filesystem:

~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra/sources/__kernel_build_output/arch/arm64/boot/dts/nvidia/tegra194-p2822-camera-MYCAMERA-overlay.dtbo

I don’t see an option for DTBO in the flash.sh script… Can you tell me how to deal in the most simplistic way with the DTBO?

Hi,

DTB overlays are set with the ADDITONAL_DTB_OVERLAY environment variable,
as you can see in the following example of configuring boot orders during flashing:
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/Bootloader/UEFI.html

Good then!

  1. Can I pass to ADDITIONAL_DTB_OVERLAY the full path of the DTBO like that:
me@pc:~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra$ sudo ADDITIONAL_DTB_OVERLAY="~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra/sources/__kernel_build_output/arch/arm64/boot/dts/nvidia/tegra194-p2822-camera-MYCAMERA-overlay.dtbo" ./flash.sh ...

OR

  1. Just pass the DTBO filename like that:
me@pc:~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra$ sudo ADDITIONAL_DTB_OVERLAY="tegra194-p2822-camera-MYCAMERA-overlay.dtbo" ./flash.sh ...

…suspecting the my DTBO must be as tegra194-p2822-camera-imx185-overlay.dtbo is in your “stock” location under kernel/dtb and bootloader:

~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra/kernel/dtb/tegra194-p2822-camera-imx185-overlay.dtbo
~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra/bootloader/tegra194-p2822-camera-imx185-overlay.dtbo

I’m asking because I see in the flash log different behavior in the two cases I mentioned and I don’t which is correct - full path or filename only.

Please advice!

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Hi,

if you put the .dtbo file under the correct path, then using only the file name should be fine.
Or it does not take effect after flashing?