Greetings All,
I’ve been following the RidgeRun guide to compile the kernel, dtb and modules on a host machine and then move them over to the Xavier.
https://developer.ridgerun.com/wiki/index.php?title=Compiling_Jetson_Xavier_NX_source_code_L4T_32.4.3
After all is compiled I do the following:
-
move the kernel Image to the Xavier in the /boot partition
-
modify the /boot/extlinux/extlinux.conf for this new kernel
LABEL Lontium Toshiba
MENU LABEL Toshiba Kernel
LINUX /boot/Image.Toshiba
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 -
boot to the new kernel using the debug console ( J14 pin block UART pins)
-
verify the new kernel was loaded
uname -a
Linux ams2 4.9.201-tegra #3 SMP PREEMPT Mon Sep 27 12:19:56 MDT 2021 aarch64 aarch64 aarch64 GNU/Linux
My question is on the DTB file(s). It is my understanding that the dtb file loaded at boot can be specified with the FDT line in the extlinux.conf file. Also, the dtb file that lives in /boot/dtb can be decompiled, modified, and recompiled.
dtc -I dtb -O dts -o kernel_tegra194-p3668-all-p3509-0000.dts kernel_tegra194-p3668-all-p3509-0000.dtb
dtc -I dts -O dtb -o kernel_tegra194-p3668-all-p3509-0000.dtb kernel_tegra194-p3668-all-p3509-0000.dts
Based on this:
The RidgeRun guide outlines a different process of “flashing” these files. So, are either of these methods good to use when modifying the dtb file?
I have only used the decompile and recompile method for the dtb file but I haven’t been able to verify the new drivers I compiled are working with the devices. I suspect it has to do with the device tree and incorrect settings but I can’t rule out the process to build the dtb file because I’ve never done this before.
Thoughts?
Ed