can u please suggest a method to modify dts for kernel and build dtb and image to flash the tx2 board?
board:- tx2
jetpack :- 4.2
i modified the dts ‘tegra186-quill-p3310-1000-c03-00-base.dts’ from $HOME/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/
then built the kernel from $HOME/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9/, copied dtb and image to $HOME/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/kernel/
then flashed the tx2
but modifications have not been reflected when tx2 booted up.
thank you
Hi,
You can try modifying/replacing the DTB file into $JETPACK_TOP/Linux_for_Tegra/bootloader/. After that, flash the TX2 again.
Hope this can help you.
Cheers,
Leon.
tried this but not working…
why is it needed to modify in bootloader, when i want to modify just kernel??
can u tell, when i execute make dtbs in kernel-4.9/, referring which dts(location & name) file, dtb file is generated?
my requirement:-
i wanted to remove i2c controller from dts and then build my custom linux image and dtb. when it boots up, "i2cdetect -l " should not list i2c busses.
The NVidia flash script retrieves the device-tree from that folder to compile and sign it. At least, I have tested it from Jetpack 3.3. I am not sure if that has changed in the newer version of Jetpack though. Have you tried flashing without overwriting files:
sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1
Also, when one compiles the bootloader, depending on the configuration, the kernel and device-tree are compiled with the bootloader.
According to your question about using make dtbs, you can follow these steps: NVIDIA Tegra X2 | Compiling Tegra X2 Source Code | RidgeRun
In your case, the commands for zImage, modules and modules_install are not needed. Your DTB will be in $TEGRA_KERNEL_OUT/arch/arm64/boot/dts/
The filename is like: tegra186-quill-p3310-1000-c03-00-base.dtb
It will depend on your TX2.
Cheers,
Leon.