The long story is a description of how one configures a kernel for compile and install. See:
https://forums.developer.nvidia.com/t/how-to-fix-xorg-conf-in-jetson-orin/229155/12
The short answer is that every kernel provides the output of the command “uname -r
” (which is partly a configuration before compile), and that a kernel searches for any modules at:
/lib/modules/$(uname -r)/kernel
This applies to the kernel to be used. If you have modules, then it is critical to have “rootfs/lib/modules/
” (and it is 100% fatal to not have “rootfs/lib/
” since this becomes “/lib
” in the flashed Jetson).
If you use the stock kernel (and this implies any modules compiled against that configuration), then you must have:
rootfs/lib/modules/4.9.253-tegra/
(the reason being is that this is the stock installed kernel)
The fact that you have “4.9.253
” and “4.9.253+
” tells me you’ve probably experimented with kernel builds and should read the document on kernel configuration.
Here is a more complete document on the actual kernel build you might find of use (even if not of interest :P ). Official documents concentrate on flash and cross compile, while the above URLs try to explain more about why configuration and kernel install succeed or fail (considers native build and not cross compile):
https://forums.developer.nvidia.com/t/problem-smb-jetson-nano/193640/11