6

I just upgraded from 15.04 to 15.10 and during the boot process I now get an error saying that some modules failed to load. So I ran systemctl status -l systemd-modules-load.service and I got this:

Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Inserted module 'option'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: could not find module by name='off'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Failed to insert 'off': Function not implemented
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: could not find module by name='off'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Failed to insert 'off': Function not implemented
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Inserted module 'cuse'
Oct 24 12:22:23 ubuntu systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Oct 24 12:22:23 ubuntu systemd[1]: Failed to start Load Kernel Modules.
Oct 24 12:22:23 ubuntu systemd[1]: systemd-modules-load.service: Unit entered failed state.
Oct 24 12:22:23 ubuntu systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.

When I run cat /etc/modules I get

loop
lp
usbserial
option
nouveau
nouveau

I tried to comment out one of the nouveau modules but it didn't help.

I found a bug on Launchpad which gives a similar message but my problem doesn't seem to be caused by the rtc module (which is the culprit in the linked bug).

Anyone has an idea what I should try?

EDIT: added more info:

cat /lib/systemd/system/systemd-modules-load.service gives

[Unit]
Description=Load Kernel Modules
Documentation=man:systemd-modules-load.service(8) man:modules-load.d(5)
DefaultDependencies=no
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
ConditionCapability=CAP_SYS_MODULE
ConditionDirectoryNotEmpty=|/lib/modules-load.d
ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d
ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d
ConditionDirectoryNotEmpty=|/etc/modules-load.d
ConditionDirectoryNotEmpty=|/run/modules-load.d
ConditionKernelCommandLine=|modules-load
ConditionKernelCommandLine=|rd.modules-load

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/systemd/systemd-modules-load
TimeoutSec=90s

cat /etc/modules-load.d/modules.conf gives the same output as cat /etc/modules/ listed above.

6
  • Looks like a syntax error in the service file. Take a look at /lib/systemd/system/systemd-modules-load.service.
    – Jos
    Oct 24, 2015 at 12:20
  • Also take a look at /etc/modules-load.d/modules.conf. As I understand this contains a list of modules to be loaded at boot time. It might contain the word "off" which breaks things in your case.
    – Jos
    Oct 24, 2015 at 12:31
  • I've added the content of the files in the main post. Unfortunately I'm not any wiser from it :-(
    – crypto_rsa
    Oct 25, 2015 at 18:57
  • The discussion in the bug report seems to suggest that one of the modules does not exist any more, which resulted in a module "off" being searched for. In the case of the bug, it was rtc, perhaps in your case it is another one? Perhaps you can try commenting all of them out, then reenabling them one by one? At the very least it would be a good contribution to the bug. Note that the bug was "fixed" merely by removing the rtc module, not by finding out where the "off" message came from.
    – Jos
    Oct 25, 2015 at 19:09
  • The culprit in my case is the 'nouveau' module. I commented out both occurrences from the /etc/modules file and the problem went away. However, I wonder why the 'off' message appears instead of some more meaningful description of the problem (including the actual module name)? Isn't that a bug per se?
    – crypto_rsa
    Oct 25, 2015 at 21:26

5 Answers 5

6

Solved by commenting out (using the '#' character) both lines with nouveau in them in the /etc/modules file.

1
  • yes this was the issue, Jul 24, 2017 at 23:00
0

Do the update then upgrade resolve my issue with fail load modules Even though I get

Sub-process /usr/bin/dpkg returned an error code (1)" error [duplicate]

sudo apt-get update
sudo apt-get upgrade

good luck

1
  • Use sudo apt-get dist-upgrade instead, this is more secure way of doing it.
    – Videonauth
    May 7, 2016 at 18:56
0

Problem seems due to blacklisted nouveau and aliasing it to off in /etc/alternatives/x86_64-linux-gnu_nvidia_modconf after installing nvidia-304-updates in 16.04 amd64.

The configuration inhibits the sequence to switch to nouveau driver by using:

rmmod nvidia
modprobe nouveau

Uncommenting the culprits enable to change the drivers of the nvidia graphic card without rebooting. The nouveau driver gets loaded properly then (but still no unity launcher or dash shown).

0

To get a complete log from the service, you can also use

journalctl -u systemd-modules-load.service

So presumably you have something in /etc/modules (or possibly /etc/modules-load.d/) which refers to a nonexisting or broken module?

Removing it from /etc/modules will solve your issue.

0

I had to do this:

sudo apt-get purge $(dpkg -l | grep nvidia | cut -f3 -d' ' | tr '\n' ' ')
2
  • Why do you thing the command is helpful?
    – Pilot6
    Jul 2, 2022 at 15:43
  • It purges all of the nvidia configs. That's what was causing my problem. Jul 2, 2022 at 22:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .