Failed to start Load Kernel Modules on Jetson Nano 4GB - L4T 32.7.2

I recently compiled the kernel on jetson nano devkit and I am facing this issue:

root@jn_02:/home/pi# systemctl status systemd-modules-load.service
● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2022-08-13 07:11:24 EEST; 12h ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 1928 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 1928 (code=exited, status=1/FAILURE)

Aug 13 07:11:22 jn_02 systemd-modules-load[1928]: Failed to find module 'lp'
Aug 13 07:11:22 jn_02 systemd-modules-load[1928]: Failed to find module 'ppdev'
Aug 13 07:11:22 jn_02 systemd-modules-load[1928]: Failed to find module 'parport_pc'
Aug 13 07:11:24 jn_02 systemd-modules-load[1928]: Inserted module 'nvgpu'
Aug 13 07:11:24 jn_02 systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Aug 13 07:11:24 jn_02 systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
Aug 13 07:11:24 jn_02 systemd[1]: Failed to start Load Kernel Modules.
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

I tried recompiling the kernel again with CONFIG_LOCALVERSION="-tegra" in .config according to this topic but with no success. Still receiving the kernel module error.

Here is the directory tree of /lib/modules

Do you have any clue on how to debug further and solve this ? I am out of ideas. Thank you!

Assuming you can still boot, what do you see from the command “uname -r”? Do you see content at:
/lib/modules/$(uname -r)/kernel

During the compile the CONFIG_LOCALVERSION step was good as you have set it, but sometimes there may be another influence on what “uname -r” comes out as. Also, even if the uname is correct, you would have had to have started with a configuration which was a match for the one which produced the original modules before they could properly load (adding new modules should always work, but if a module was removed, or an integrated feature changed, then it could cause some modules to fail to load). What was your starting configuration, e.g., was it from “tegra_defconfig” or perhaps “/proc/config.gz”?

Also, which L4T release is this? You can check with:
head -n 1 /etc/nv_tegra_release

I manually downloaded the sources from [here](wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/sources/t210/public_sources.tbz2)

/lib/modules/$(uname -r)/kernel

outputs

bash: /lib/modules/4.9.253-tegra/kernel: Is a directory
head -n 1 /etc/nv_tegra_release

outputs

# R32 (release), REVISION: 7.2, GCID: 30192233, BOARD: t210ref, EABI: aarch64, DATE: Wed Apr 20 21:34:48 UTC 2022

Starting configuration was from /proc/config.gz

It sounds like a good start, but what do you see from:

  • uname -r
  • ls /lib/modules/$(uname -r)/kernel/*

I’m trying to find out if the search location for modules actually has modules. So far it looks like your kernel should work.

Incidentally, what config changes did you make? Was the new kernel only an addition of features? Was anything removed?

uname -r outputs 4.9.253-tegra

Here is the directory tree of /lib/modules

I compiled the kernel only to add some features. The system is booting up and seems to run with no issues besides that error

All looks good. Is there any output from “lsmod”? If so, then probably there is nothing wrong with actual module loading for most modules. Here is an excerpt of the original error suggesting the most important module loaded correctly, but three others failed:

Aug 13 07:11:22 jn_02 systemd-modules-load[1928]: Failed to find module 'lp'
Aug 13 07:11:22 jn_02 systemd-modules-load[1928]: Failed to find module 'ppdev'
Aug 13 07:11:22 jn_02 systemd-modules-load[1928]: Failed to find module 'parport_pc'
Aug 13 07:11:24 jn_02 systemd-modules-load[1928]: Inserted module 'nvgpu'

Of those listed in the excerpt as failing, were any of those the ones you added? If so, did you build the modules and Image, or just the Image? Can you attach the current “/proc/config.gz”?

output of lsmod

Module                  Size  Used by
zram                   29049  4
rt2800usb              25176  0
rt2x00usb              15990  1 rt2800usb
rt2800lib              90634  1 rt2800usb
rt2x00lib              72968  3 rt2800lib,rt2800usb,rt2x00usb
mac80211              805724  3 rt2800lib,rt2x00lib,rt2x00usb
binfmt_misc            14639  1
cfg80211              686499  2 rt2x00lib,mac80211
nvgpu                1733535  3
userspace_alert         6769  0
ip_tables              21421  0
x_tables               38016  1 ip_tables

The modules listed in the excerpt as failing are not the modules I added in the build. Actually I do not know how those errors/modules ended up there.

I compiled the kernel with nvbuild.sh then I issued the following commands:

make modules
make modules_install
make
make install

Because my system seems to be stable and is running with no issues is there any way to get rid of those errors? This is my main interest.

Here is the config.gz https://transfer.sh/uCP3Iu/config.gz

I solved my issue.

In /etc/modules-load.d/cups-filters.conf I commented the modules:

# Parallel printer driver modules loading for cups
# LOAD_LP_MODULE was 'yes' in /etc/default/cups
#lp
#ppdev
#parport_pc

Problem solved. Thank you @linuxdev for your support!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.