Request for exact kernel source/build environment for Jetson Linux 36.4.7 (kernel 5.15.148-tegra) to build external module (pl2303.ko)

Hi NVIDIA Team,

I am working on an NVIDIA Jetson AGX Orin Developer Kit running the following software:

Jetson Linux (L4T): R36.4.7
Ubuntu: 22.04 LTS
Kernel: 5.15.148-tegra

Output of uname -r:

5.15.148-tegra

I need to build an external USB-to-Serial kernel module (pl2303.ko) for this exact kernel version.

I downloaded the public kernel source package for Jetson Linux 36.4.7 and extracted it. However, the top-level Makefile reports:

VERSION = 5
PATCHLEVEL = 15
SUBLEVEL = 185

This does not match the running kernel version:

5.15.148-tegra

Since external kernel modules must be built against the exact kernel source, configuration, and symbol versions, I am unsure whether I have the correct build environment.

Could you please clarify the following?

1.Is the public kernel source package with SUBLEVEL = 185 the correct source for the running kernel 5.15.148-tegra?
2.If yes, why does the kernel source report version 5.15.185 while the running kernel is 5.15.148-tegra?
3.If not, where can I obtain the exact kernel source corresponding to 5.15.148-tegra?
4.How can I obtain the exact .config and Module.symvers used to build this kernel?
5.Are there any NVIDIA-specific patches or recommended steps required to build external modules such as pl2303.ko for Jetson Linux R36.4.7?

My goal is simply to build a compatible pl2303.ko module that can be loaded on the stock Jetson Linux 36.4.7 system.

Any guidance would be greatly appreciated.

Thank you.

Is you post results of this I’ll attempt to help:

head -n1 /etc/nv_tegra_release 

strings /usr/lib/aarch64-linux-gnu/libc.so.6 | grep -E 'GNU C Library|release version|stable release'

It might be easier to switch to something supported, e.g. FTDI chips or MCP2200/MCP2221A CDC-ACM based adapters.

Hi vickytitus6,

For Jetson Linux R36.4.7, the safest way to build pl2303.ko is to use the target device’s own 5.15.148-tegra build tree at /lib/modules/$(uname -r)/build or the matching installed headers.

The 5.15.185 shown in the public source package does not necessarily mean it is the wrong source, because for external modules the important point is matching the running kernel’s actual headers, config, and symbol versions.

If you need the exact build environment, please install or reinstall the matching nvidia-l4t-kernel-headers package on the device and build the module against that tree.

If you need the release source, use the Jetson Linux source package or source_sync.sh with the release tag from the release notes.

Also, please check first whether pl2303.ko is already present in /lib/modules/$(uname -r)/ before rebuilding it.