Jetpack-5.0.2 - Kernel Customization - How to update loadable kernel modules?

This has things in it which you are not asking about, but would be useful to understand if you are manually adding modules or kernels:
https://forums.developer.nvidia.com/t/problem-smb-jetson-nano/193640/11

Perhaps one of the most important points is that each kernel is responsible for the output of the command “uname -r”. That command determines where the base of the modules are loaded from. Basically:
/lib/modules/$(uname -r)/kernel

Within that, let’s say that the kernel source has a driver “$TOP/drivers/imaginary/foo.ko”. That means you’d copy the file to:
/lib/modules/$(uname -r)/kernel/drivers/imaginary/foo.ko

If you did not set the CONFIG_LOCALVERSION correctly, then you’ll have to reinstall all modules to a new “uname -r” directory tree.

If you only added new modules to the configuration, then you can normally reuse the same “uname -r” (CONFIG_LOCALVERSION). If you’ve changed an integrated feature (not a module), then it is possible you must rebuild and install all modules (compatibility of modules is not guaranteed if you did more than add or remove modules).

Note that depending on circumstances sometimes boot will be from a kernel partition, but in many other cases it will use the location named in “/boot/extlinux/extlinux.conf” for the kernel Image file. It isn’t always necessary to flash. Additionally, if hardware has not changed for non-plug-n-play content, then you also wouldn’t need to change the device tree.