8

I'm using ubuntu 15.10 on a dell laptop. It works fine but recently I've been getting slow boot times (~1 minute). So I was looking around and when I read the /var/log/boot.log file, I see the following error:

[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.

With every other service (except tftpd) running perfectly. Here's the full output:

[  OK  ] Started Load/Save Screen Backlight Brightness of backlight:intel_backlight.
[  OK  ] Reached target Sound Card.
[  OK  ] Created slice system-systemd\x2drfkill.slice.
         Starting Load/Save RF Kill Switch Status of rfkill0...
[  OK  ] Started Show Plymouth Boot Screen.
[  OK  ] Started Forward Password Requests to Plymouth Directory Watch.
[  OK  ] Started Load/Save RF Kill Switch Status of rfkill0.
[  OK  ] Started Check And Enable File System Quotas.
         Starting Load/Save RF Kill Switch Status of rfkill1...
[  OK  ] Started Braille Device Support.
         Starting Load Kernel Modules...
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Started Load/Save RF Kill Switch Status of rfkill1.
[  OK  ] Started LSB: QEMU KVM module loading script.
[  OK  ] Found device ST500LM012_HN-M500MBB 8.
         Starting File System Check on /dev/sda8...
[  OK  ] Started File System Check on /dev/sda8.
         Mounting /mnt/ubuntuspace...
[  OK  ] Found device ST500LM012_HN-M500MBB 7.
         Activating swap /dev/disk/by-uuid/431a5631-95f2-4d4f-8f81-42e5801b57aa...
[  OK  ] Activated swap /dev/disk/by-uuid/431a5631-95f2-4d4f-8f81-42e5801b57aa.
[  OK  ] Reached target Swap.
[  OK  ] Mounted /mnt/ubuntuspace.
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
         Starting Set console keymap...
[  OK  ] Reached target Remote File Systems.
         Starting Wait for all "auto" /etc/network/interfaces to be up for network-online.target...
         Starting LSB: AppArmor initialization...
         Starting Clean up any mess left by 0dns-up...
         Starting Tell Plymouth To Write Out Runtime Data...
[  OK  ] Started Wait for all "auto" /etc/network/interfaces to be up for network-online.target.
[  OK  ] Started Clean up any mess left by 0dns-up.
         Starting Nameserver information manager...
[  OK  ] Started Nameserver information manager.
[  OK  ] Started Set console keymap.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
         Starting Network Time Synchronization...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started LSB: AppArmor initialization.
         Starting LSB: Raise network interfaces....
[  OK  ] Started LSB: Raise network interfaces..
[  OK  ] Started Tell Plymouth To Write Out Runtime Data.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on UUID daemon activation socket.
         Starting Restore Sound Card State...
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Listening on PC/SC Smart Card Daemon Activation Socket.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Started Trigger resolvconf update for networkd DNS.
[  OK  ] Reached target Paths.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on ACPID Listen Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting Restore /etc/resolv.conf if the system crashed before the ppp link was shut down....
         Starting System Logging Service...
         Starting Permit User Sessions...
[  OK  ] Started Self Monitoring and Reporting Technology (SMART) Daemon.
         Starting Avahi mDNS/DNS-SD Stack...
         Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
         Starting Detect the available GPUs and deal with any system changes...
         Starting LSB: Record successful boot for GRUB...
[  OK  ] Started Cgroup management daemon.
[  OK  ] Started CUPS Scheduler.
         Starting VirtualBox Linux kernel module...
         Starting LSB: automatic crash report generation...
         Starting Network Manager...
[  OK  ] Started Deferred execution scheduler.
[  OK  ] Started crash report submission daemon.
         Starting Modem Manager...
         Starting LSB: Load kernel modules needed to enable cpufreq scaling...
         Starting LSB: Start/stop sysstat's sadc...
         Starting Enable support for additional executable binary formats...
         Starting Accounts Service...
         Starting LSB: Speech Dispatcher...
         Starting Bluetooth service...
[  OK  ] Started Regular background program processing daemon.
         Starting Initialize hardware monitoring sensors...
         Starting LSB: daemon to balance interrupts for SMP systems...
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started Bluetooth service.
[  OK  ] Started Network Manager.
[  OK  ] Reached target Network.
[  OK  ] Started OpenBSD Secure Shell server.
         Starting MySQL Community Server...
         Starting OpenVPN service...
[  OK  ] Reached target Bluetooth.
[  OK  ] Started Make remote CUPS printers available locally.
         Starting LSB: Start daemon at boot time...
         Starting Thermal Daemon Service...
         Starting dnsmasq - A lightweight DHCP and caching DNS server...
         Starting PostgreSQL Cluster 9.4-main...
         Starting Login Service...
         Starting Network Manager Wait Online...
         Starting LSB: Monitor for system resources and process activity...
[  OK  ] Started System Logging Service.
[  OK  ] Started Restore Sound Card State.
[  OK  ] Started Restore /etc/resolv.conf if the system crashed before the ppp link was shut down..
[  OK  ] Started Permit User Sessions.
[  OK  ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand".
[  OK  ] Started LSB: Record successful boot for GRUB.
[  OK  ] Started VirtualBox Linux kernel module.
[  OK  ] Started LSB: automatic crash report generation.
[  OK  ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
[  OK  ] Started LSB: Start/stop sysstat's sadc.
[  OK  ] Started LSB: Speech Dispatcher.
[  OK  ] Started LSB: daemon to balance interrupts for SMP systems.
[  OK  ] Started OpenVPN service.
[  OK  ] Started Initialize hardware monitoring sensors.
         Starting Hostname Service...
         Starting Authenticate and Authorize Users to Run Privileged Tasks...
         Mounting Arbitrary Executable File Formats File System...
         Starting LSB: set CPUFreq kernel parameters...
         Starting vboxweb-service.service...
         Starting vboxballoonctrl-service.service...
         Starting vboxautostart-service.service...
[  OK  ] Mounted Arbitrary Executable File Formats File System.
[  OK  ] Started LSB: set CPUFreq kernel parameters.
[  OK  ] Started vboxweb-service.service.
[  OK  ] Started vboxballoonctrl-service.service.
[  OK  ] Started vboxautostart-service.service.
[  OK  ] Started Enable support for additional executable binary formats.
[  OK  ] Started Hostname Service.
[  OK  ] Started Login Service.
[  OK  ] Started LSB: Monitor for system resources and process activity.
[  OK  ] Started Thermal Daemon Service.
[  OK  ] Started Authenticate and Authorize Users to Run Privileged Tasks.
[  OK  ] Started Accounts Service.
[  OK  ] Started Modem Manager.
[  OK  ] Started LSB: Start daemon at boot time.
[  OK  ] Started ACPI event daemon.
         Starting WPA supplicant...
[  OK  ] Started dnsmasq - A lightweight DHCP and caching DNS server.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Started WPA supplicant.
         Starting Network Manager Script Dispatcher Service...
[  OK  ] Started Network Manager Script Dispatcher Service.
[  OK  ] Started MySQL Community Server.
[  OK  ] Started PostgreSQL Cluster 9.4-main.
         Starting PostgreSQL RDBMS...
[  OK  ] Started PostgreSQL RDBMS.
[  OK  ] Started Network Manager Wait Online.
[  OK  ] Reached target Network is Online.
         Starting LSB: start Samba daemons for the AD DC...
         Starting LSB: disk temperature monitoring daemon...
         Starting LSB: HPA's tftp server...
         Starting /etc/rc.local Compatibility...
         Starting LSB: Tool to automatically collect and submit kernel crash signatures...
         Starting LSB: Apache2 web server...
         Starting ISC DHCP IPv4 server...
         Starting LSB: Postfix Mail Transport Agent...
         Starting LSB: backup and restore program...
         Starting LSB: Starts or stops the xinetd daemon....
         Starting LSB: start Samba NetBIOS nameserver (nmbd)...
[  OK  ] Started LSB: disk temperature monitoring daemon.
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started ISC DHCP IPv4 server.
[  OK  ] Started LSB: backup and restore program.
[FAILED] Failed to start LSB: HPA's tftp server.
See 'systemctl status tftpd-hpa.service' for details.
[  OK  ] Started LSB: Tool to automatically collect and submit kernel crash signatures.
         Starting Wait for Plymouth Boot Screen to Quit...
[  OK  ] Started LSB: Starts or stops the xinetd daemon..
[  OK  ] Started Detect the available GPUs and deal with any system changes.
         Starting Light Display Manager...

Here's the output of 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 Wed 2016-07-06 06:05:56 IST; 1h 13min ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 1019 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 1019 (code=exited, status=1/FAILURE)

Jul 06 06:05:56 hostname systemd[1]: Starting Load Kernel Modules...
Jul 06 06:05:56 hostname systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Jul 06 06:05:56 hostname systemd[1]: Failed to start Load Kernel Modules.
Jul 06 06:05:56 hostname systemd[1]: systemd-modules-load.service: Unit entered failed state.
Jul 06 06:05:56 hostname systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.

what exactly is the error, does it affect my boot times and how should it be fixed?

4

What is "Failed to start Load Kernel Modules" ?

Systemd reads the files in the directory /etc/modules-load.d for modules to load with this service. If modules specified in these files are not present in the /lib/modules directory for the kernel being booted, the error 'failed to start load kernel modules' appears. Here's the contents of the /etc/modules-load.d directory from ls -lA

-rw-r--r-- 1 root root 119 Apr 20 17:01 cups-filters.conf
lrwxrwxrwx 1 root root  10 May 12 10:39 modules.conf -> ../modules

Capture the details from journalctl

In my case, here's the relevant part of journalctl:

May 27 06:36:50 zanna-X205TA systemd-modules-load[176]: Failed to find module 'lp'
May 27 06:36:50 zanna-X205TA systemd-modules-load[176]: Failed to find module 'ppdev'
May 27 06:36:50 zanna-X205TA systemd-modules-load[176]: Failed to find module 'parport_pc'

If you do journalctl | grep modules you will see which ones failed to load

In my case, /etc/modules (pointed to by symlink) was empty but the cups-filters.conf file contained the references to the modules that were throwing errors:

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

Making the message disappear

My laptop doesn't even have any parallel ports, unsurprisingly, so I don't need those modules. In any case, they couldn't be loaded as they were not in /lib/modules/$(uname -r)

I commented out those three lines (putting # at the start of the line in front of the module name for each one) and the error message disappeared.

I didn't notice any difference in boot time though.

TL;DR

  • check journalctl to see which modules are failing to load
  • read the files in /etc/modules-load.d to look for references to those modules
  • comment out the lines that specify those modules to make the error disappear (but please make a back-up copy before editing)
  • reboot to see if this makes any difference to boot time

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.