Missing file in JetPack 7.2 kernel sources

Hi NV,

While building JetPack 7.2 and working on the Kernel Customization step, I failed to copy the compiled DTB files to <install-path>/Linux_for_Tegra/kernel/dtb/. The system throws this error: cp: cannot stat 'kernel-devicetree/generic-dts/dtbs/*': No such file or directory

It looks like some source files are missing. I compared the packages and noticed that in JetPack 7.1, the kernel-devicetree folder exists inside public_sources.tbz2\public_sources.tar\Linux_for_Tegra\source\kernel_oot_modules_src.tbz2\kernel_oot_modules_src.tar\. However, this folder is nowhere to be found in the JetPack 7.2 equivalent tarballs.

Is it acceptable to copy the kernel-devicetree folder from JetPack 7.1 over to JetPack 7.2 to complete the build, or has the device tree structure changed in 7.2?

Or did I miss any specific step during the setup process?

Thanks!!

It might be

wget https://developer.nvidia.com/downloads/embedded/L4T/r39_Release_v2.0/sources/public_sources.tbz2

tar xf public_sources.tbz2

cd Linux_for_Tegra/source
tar xf kernel_src.tbz2
tar xf kernel_oot_modules_src.tbz2
tar xf nvidia_kernel_display_driver_source.tbz2
tar xf nvidia_unified_gpu_display_driver_source.tbz2

./source_sync.sh

Hi @whitesscott ,

Thanks for your reply.

I tested the steps you provided, but the kernel-devicetree folder is still missing.

However, I managed to find a workaround. I copied all files from source/build/nvidia-public/devicetree/generic-dtbs directly into Linux_for_Tegra/kernel/dtb/, and everything is working fine now.

Thanks!!

Hi @SamM11,

I’m faced with the kernel customization task, i.e. adding uinput module. I’ve never compiled the kernel before. Were you following instructions available somewhere? I’m looking for a lowest learning curve to complete my task.

Hi @pauljurczak ,

I follow this Developer Guide step Kernel Customization — NVIDIA Jetson Linux Developer Guide
to custom my kernel.

Thanks!!

Thank you for the link. Do you know if kernel modules like uinput or usbtouchscreen are available there?

CONFIG_INPUT_TOUCHSCREEN=y # is builtin

I have two automated scripts I can provide. I just modified them to use Jetpack 7.2. I’m doing a test: full kernel, modules, dtbs build. I’ll email you the uinput.ko in about 10 minutes. It is my build test to confirm automated method works.

Attached are two scripts and uinput.ko. I test built uinput.ko on my Thor. The scripts also should work on x86_64/amd64 but I’ve not tested them on x86_64 since updating them to download source / compile Jetpack 7.2; that worked with Jetpack 7.1.

jetpack-download-extract.sh should be run first.
nvbuild-kernel-dtb-and-Modules.sh should be run second.

cp uinput.ko.txt /lib/modules/6.8.12-1021-tegra/kernel/drivers/input/misc/uinput.ko
sudo depmod -a

modinfo uinput

filename:       /lib/modules/6.8.12-1021-tegra/kernel/drivers/input/misc/uinput.ko
license:        GPL
description:    User level driver support for input subsystem
author:         Aristeu Sergio Rozanski Filho
alias:          devname:uinput
alias:          char-major-10-223
depends:
intree:         Y
name:           uinput
vermagic:       6.8.12-1021-tegra SMP preempt mod_unload modversions aarch64
scott@chithor:~$ sudo modprobe uinput
scott@chithor:~$ lsmod |grep uinput
uinput                 20480  0

ls -l /dev/uinput
crw------- 1 root root 10, 223 Jun  4 22:35 /dev/uinput

menuconfig:  Device Drivers                                                                            │
  │       -> Input device support                                                                    │
  │         -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])                    │
  │           -> Miscellaneous devices (INPUT_MISC [=y])                                             │
  │ (1)         -> User level driver support (INPUT_UINPUT [=n])   

nvbuild-kernel-dtb-and-Modules.sh.txt (3.5 KB)
jetpack-download-extract.sh.txt (4.4 KB)
uinput.ko.txt (144.1 KB)

Thank you. I will read the guide and try to build in the next day or two.