Jetson Orin doesn't load dtb/dtbo from rootfs (Jetson Linux 36.3)

Hello,
I am working with Jetson AGX Orin 64Gb and can’t make it loads dtbs from rootfs.
What did I do:

  • Changed overlay-name in tegra234-p3737-camera-dual-hawk-ar0234-e3653-overlay.dts to Jetson Camera e3653-dual-Hawk module 123 and model in tegra234-p3737-0000+p3701-0000.dts to NVIDIA Jetson AGX Orin Developer Kit 123 to check will they be applied or not
  • Compilated dts and got tegra234-p3737-0000+p3701-0000-nv.dtb and tegra234-p3737-camera-dual-hawk-ar0234-e3653-overlay.dtbo
  • Moved tegra234-p3737-0000+p3701-0000-nv.dtb to Orin /boot/dtb/ and tegra234-p3737-camera-dual-hawk-ar0234-e3653-overlay.dtbo to /boot/
  • Decompilated them and checked that they are correct
  • Added DTB and OVERLAYS tags to /boot/extlinux/extlinux.conf
  • Rebooted the system
  • Checked Debug UEFI log and what DTBs have been loaded.

Here is my extlinux.conf:

TIMEOUT 30
DEFAULT JetsonIO

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      DTB /boot/dtb/kernel_tegra234-p3737-0000+p3701-0000-nv.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=ttyAMA0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nospectre_bhb video=efifb:off console=tty0 
      OVERLAYS /boot/tegra234-p3737-camera-dual-hawk-ar0234-e3653-overlay.dtbo

And boot logs:
orin_boot.log (136.5 KB)

Processing "L4T Configuration Settings" DTB overlay
Processing "Tegra234 p3737-0000+p3701-xxxx Dynamic Overlay" DTB overlay
Processing "Tegra234 Carveouts Overlay" DTB overlay
Processing "OP-TEE overlay" DTB overlay
Processing "Jetson Camera e3653-dual-Hawk module" DTB overlay
DTB maximums: sockets=1 clusters=3 cores=12
SocketMask=0x1 NumberOfEnabledCores=12
Model: NVIDIA Jetson AGX Orin Developer Kit

As you can see, nothing has been changed.
Moreover, I tried to re-flash A_kernel_dtb and B_kernel_dtb partitions with ./flash.sh -r -k A_kernel-dtb jetson-agx-orin-devkit mmcblk0p1 and it did not work. The only way I found to apply new dtb/dtbo is to re-flash all Orin with ./flash.sh jetson-agx-orin-devkit mmcblk0p1

However, it is defensively not the way I want to do it, so, could you please help me to make my Orin takes dtb from rootfs?

Hello @nikita.pichugin,

Could you try with using FDT instead of DTB in the extlinux.conf?

Please let us know how it goes.

regards,
Andrew
support@proventusnova.com

Hello @proventusnova,
Thanks for your reply. Yep it became a little bit better with FDT tag, now if I put obviously incorrect path to the extlinux.conf I can see this logs (its for the overlay but it works the same way for a dtb):

L4TLauncher: Attempting Direct Boot
UpdateFdt: Applying overlays from firmware media.
Processing "L4T Configuration Settings" DTB overlay
Processing "Tegra234 p3737-0000+p3701-xxxx Dynamic Overlay" DTB overlay
Processing "Tegra234 Carveouts Overlay" DTB overlay
Processing "OP-TEE overlay" DTB overlay
Processing "Jetson Camera e3653-dual-Hawk module" DTB overlay
UpdateFdt: Overlays from firmware media already applied.
UpdateRamOopsMemory: RamOopsBase: 0x102CDF0000, RamOopsSize: 0x200000
UpdatePvaFwMemory: PvaFwBase: 0x102D980000, PvaFwSize: 0x280000
FtpmProtocol Not Found - Not Found
UpdatePcieControllersWithGpuDevice: failed to enumerate GPU device handles: Not Found
OpenAndReadUntrustedFileToBuffer: Failed to open \boot\tegra234-p3737-camera-dua
l-hawk-ar0234-e3653-overlay1.dtbo: Not Found
ExtLinuxBoot: Failed to load overlay \boot\tegra234-p3737-camera-dual-hawk-ar023
4-e3653-overlay1.dtbo: Not Found

However if I put correct paths to the extlinux.conf I still see old overlay-names in the logs:

L4TLauncher: Attempting Direct Boot
UpdateFdt: Applying overlays from firmware media.
Processing "L4T Configuration Settings" DTB overlay
Processing "Tegra234 p3737-0000+p3701-xxxx Dynamic Overlay" DTB overlay
Processing "Tegra234 Carveouts Overlay" DTB overlay
Processing "OP-TEE overlay" DTB overlay
Processing "Jetson Camera e3653-dual-Hawk module" DTB overlay

I also tried to change OVERLAYS tag to point to tegra234-p3737-camera-imx390-overlay.dtbo but still have only Processing "Jetson Camera e3653-dual-Hawk module" DTB overlay line in the logs.

Hello @nikita.pichugin,

Thanks for reaching back out.

Got it.
And just out of curiosity, is it completely necessary to use overlays? Or can you just use a custom DTB with the features you want to add?

regards,
Andrew
support@proventusnova.com

Hello,
That is how it has been developed by nvidia SDK, I just try to use their provided stuff and it still doesn’t work, what did I do wrong?

Hello @nikita.pichugin,

Understood.

I would try by running Jetson IO tool by NVIDIA.

If you are still having issues after that, it might be a good idea to just directly modify the DTB so that the driver you want is already a part of it.

Please don’t hesitate to reach out if you require further assistance.

regards,
Andrew
support@proventusnova.com

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