Kernel load module error during boot up
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?
Solution 1:
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