Device tree updation

Hi,
In order to edit the dtb file in Jetson Xavier NX, Do we required to decompile the image in SD card outside the jetson board or is it possible to edit using Jetson board terminal (keeping image in sdcard).

Thanks in advance

Aravind.

hello aravind.m90,

you may access L4T sources via download center for the source code.
please check documentation, Kernel Customization for compile the source to make device tree blob.
you may also refer to Flash Script Usage to specified kernel-dtb partition to update device tree blob.
thanks

Hi,

While i am searching L4T sources i found many sources. Which one is for Jeston Xavier NX?

Thanks

Aravind.

hello aravind.m90,

please extract kernel source package, you should check the hardware folder for the device tree sources.
you may check below path since Xavier NX is based-on t19x chip series, and its platform name is Jakku.
i.e. $L4T_Sources/r32.4.4/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/jakku/*

Hi,
My requirement is to to make a change on CAN clock rate in device tree. I want to make my CAN clock rate to 40MHZ. Can you provide any device tree related documents, tools which is used to update device tree.

Also i found multiple dtsi file but on which i need to edit to make 40MHz frequency and what edit we have to do.

Thanks

Aravind.

had you check my previous comments, you may refer to Xavier NX’s device tree files as mentioned in post #5.

Hi,
I was following the document you provided in this link:
Tegra Linux Driver.

But i am getting some issue while executing following command for creating .config file:
make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig

Can you give a solution for above problem.

Thanks,

Aravind.

This is the message i am getting when running make command:

Makefile:153: *** main directory cannot contain spaces nor colons. Stop.

Thanks

hello aravind.m90,

according to above error messages, are you having spaces or colons of your build directory?
you may review the folder names for confirmation.
thanks

Hi,
yes i have used space in the target directory name. I changed that and now its working.

Now while preparing the Jetson Linux kernel headers on a non-Jetson system, I cant able to find kernel_headers.tbz2in local source directory. i have searched every directories.

So below commands are not working,

Extract the following archive and place it in a local directory with the commands:
$ cd <local_src_dir>
$ tar -xjf /Linux_for_Tegra/kernel/kernel_headers.tbz2

is there any way to get above mentioned header.

Thanks in advance

Aravind.

hello aravind.m90,

what’s the “non-Jetson” system you mention about?

Hi,
Actually i was preparing Linux kernal headers, in that there are some conditions in the procedure specified in the manual. Like preparing headers on a jetson system, headers on a nin jetson system. I thought i am using a non jetson system to customize kernal image so i have to follow the second procedure which is “preparing the jetson linux kernel headers on a non jetson system”. In that i cant able to find the .tbz2 folder.

Thanks

Aravind.

hello aravind.m90,

please refer to Kernel Customization session; you may manually rebuild the kernel used for L4T.
thanks

Hi,
Actually i was following the same session but when i running below mentioned commands i am getting the directory not found error. So i searched for that directory kernel_headers.tbz2 but not found.

Extract the following archive and place it in a local directory with the commands:
cd <local_src_dir>
tar -xjf /Linux_for_Tegra/kernel/kernel_headers.tbz2

Thanks
Aravind.

hello aravind.m90,

I see, you may install the JetPack release via NVIDIA SDK Manager.
it’ll download the release image to your local host machine.
for example, JetPack-4.4,
the kernel_headers.tbz2 should located as following,
i.e. ~/nvidia/nvidia_sdk/JetPack_4.4_Linux_JETSON_AGX_XAVIER/Linux_for_Tegra/kernel/kernel_headers.tbz2

Hi jerry,

I found a new jet pack 4.5 release. Has this update solves above mentioned clock rate issuein post #4 ?

Thanks and regards,
Aravind.

hello aravind.m90,

you may refer to r32.5 L4T release note to checking the corresponding updates.
or, please update the device tree sources to update the clock rate configurations.
for example,
$L4T_Sources/r32.5/Linux_for_Tegra/source/public/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-soc-can.dtsi

Hi Jerry,

When i run below mentioned command, i am getting some error recipe for target failed. Please find the command and error;

command:
make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j6 modules_prepare

errors while running in terminal:

make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j6 modules_prepare

make[1]: Entering directory ‘/home/devuser/Linux_for_Tegra/source/public/kernel/kernel-4.9/linux-headers-4.9.140-tegra-linux_x86_64’
CHK include/config/kernel.release
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
Using … as source for kernel
… is not clean, please run ‘make mrproper’
in the ‘…’ directory.
/home/devuser/Linux_for_Tegra/source/public/kernel/kernel-4.9/Makefile:1129: recipe for target ‘prepare3’ failed
make[1]: *** [prepare3] Error 1
make[1]: Leaving directory ‘/home/devuser/Linux_for_Tegra/source/public/kernel/kernel-4.9/linux-headers-4.9.140-tegra-linux_x86_64’
Makefile:171: recipe for target ‘sub-make’ failed
make: *** [sub-make] Error 2

I was following developer guide u provided. This command comes under " Preparing to Build External Kernel Modules ".

Thanks and regards,
Aravind.

hello aravind.m90,

may I know what’s your host operation system, had you also follow the steps for setting up prerequisites for building the NVIDIA kernel completely?
thanks

Hi,
Yes i am following the procedure that given in developer guide 32.5 release. I am using Jetson Xavier NX Board.

Regards