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
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 @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:
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.
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.