Hello i am trying to install linux extra modules on top of 5.10.104-tegra arm64 to make use of xfrm device type / vfio-pci …ect
anyone had faced or know how to do that ?
I don’t know the particular module. However, generally speaking, you would do this:
- Find the existing configuration of the kernel, e.g., copy “
/proc/config.gz” somewhere else, andgunzipit. - You’d need to know the current
CONFIG_LOCALVERSION. You can use the suffix of “uname -r”. For example. if “uname -r” shows as “5.15.0-tegra”, then theCONFIG_LOCALVERSION is "-tegra`". - You’d download the exact source for your release based on the L4T version. You can find that via “
head -n 1 /etc/nv_tegra_release”. The L4T can be found through here:
https://developer.nvidia.com/linux-tegra - You set the
CONFIG_LOCALVERSIONwithin the other configuration; likely this is:
CONFIG_LOCALVERSION="-tegra" - You’d use a configuration editor, e.g., “
make menuconfig”, to enable that new module as type module. I prefer the “nconfig” editor because it has a symbol search function, but is otherwise much the same asmenuconfig. - You’d have to make sure the configuration is propagated to the kernel source. For example, you could “
make modules_prepare”. Or you could buildImage(this takes longer, but it also is a good sanity check; if something is wrong, then this will more likely show up here than during module build). - The module file (something.ko) is in a subdirectory of the source. You’d copy it to the Jetson at the same subdirectory, but the base location would be:
/lib/modules/$(uname -r)/kernel - You’d run “
sudo depmod -a”. Then probably reboot.
Note: Kernel build instructions can be found in the L4T release documentation where kernel source is found (which is actually within another source download).