Modules failing to load at boot time
This document (7005784) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Desktop 11
SUSE Linux Enterprise Desktop 10
Situation
Comparing the /etc/sysconfig/kernel modules with the lsmod command show some modules are missing. A sample /etc/sysconfig/kernel follows:
hostname:~ # sed -e '/^#/d;/^$/d;/^[[:space:]]*$/d' /etc/sysconfig/kernel
INITRD_MODULES="processor thermal ahci fan jbd ext3 edd"
DOMU_INITRD_MODULES="xennet xenblk"
MODULES_LOADED_ON_BOOT=""
ACPI_DSDT=""
SKIP_RUNNING_KERNEL=""
You can check if the /etc/sysconfig/kernel modules are loaded with the following command line script:
--snip--
#!/bin/bash
. /etc/sysconfig/kernel
for i in $INITRD_MODULES $DOMU_INITRD_MODULES $MODULES_LOADED_ON_BOOT
do
if ! lsmod | grep"^$i[[:space:]]"&>/dev/null; then
echo $i
fi
done; echo
--snip--
thermal
xennet
xenblk
In this case the thermal kernel driver was requested in INITRD_MODULES, but is currently not loaded. Since the server is not running Xen, thexennet and xenblk drivers would not be necessary.
Resolution
Ram Disk
1. Make sure the all necessary modules are included in the /etc/sysconfig/kernel.
2. Run mkinitrd command to rebuild the ram disk with the modules
3. Watch the mkinitrd output to ensure all the modules are listed in the Kernel Modules: line. Additional module dependencies will be included as needed, and the DOMU_INITRD_MODULES will be included if Xen is in use.
hostname:~ # mkinitrd
Kernel image: /boot/vmlinuz-2.6.27.45-0.1-default
Initrd image: /boot/initrd-2.6.27.45-0.1-default
Root device: /dev/disk/by-id/ata-WDC_WD1600BJKT-75F4T0_WD-WXD0A9983092-part6 (/dev/sda6) (mounted on / as ext3)
Resume device: /dev/disk/by-id/ata-WDC_WD1600BJKT-75F4T0_WD-WXD0A9983092-part5 (/dev/sda5)
Kernel Modules: hwmon thermal_sys processor thermal dock scsi_mod libata ahci fan jbd mbcache ext3 edd crc-t10dif sd_mod usbcore ohci-hcd ehci-hcd uhci-hcd ff-memless hid usbhid
Features: block usb resume.userspace resume.kernel
Bootsplash: splash (1024x768)
24073 blocks
Load Error
If the module does not load due to an error, check the following for reasons why. Correct any problems logged.
1. dmesg output
2. /var/log/messages
3. /var/log/boot.msg
Unsupported modules on SLES11 are not allowed by default and will not log any errors.
TID7002793: Unsupported kernel modules in SLES11
You should also check the modules themselves to ensure they are installed and not damaged in anyway. Use the rpm -V command to validate the kernel RPM package. If any of the modules that are not loading show up as modified, you should reinstall the kernel package.
hostname:~ # uname -r
2.6.27.45-0.1-default
hostname:~ # rpm -qa | grep kernel-default\*
kernel-default-extra-2.6.27.45-0.1.1
kernel-default-base-2.6.27.45-0.1.1
kernel-default-2.6.27.45-0.1.1
hostname:~ # rpm -V kernel-default
hostname:~ # rpm -V kernel-default-base
.......T c /etc/modprobe.d/generic_serial-blacklist
.......T c /etc/modprobe.d/module-renames
hostname:~ # rpm -V kernel-default-extra
System Administrator
If the system administrator has unloaded the module, just reboot the server or use the modprobe command to reload the driver.
hostname:~ # modprobe thermal
If you determine that their are unnecessary modules, you can remove them from the /etc/sysconfig/kernel file and rebuild the ram disk with mkinitrd.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7005784
- Creation Date: 19-Apr-2010
- Modified Date:28-Sep-2022
-
- SUSE Linux Enterprise Desktop
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com