Environment
Novell Open Enterprise Server 2 (OES 2) Linux
Novell Open Enterprise Server 1 (OES 1) Linux
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Server 9
SUSE Linux Enterprise Desktop 11
SUSE Linux Enterprise Desktop 10
Novell Open Enterprise Server 1 (OES 1) Linux
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Server 9
SUSE Linux Enterprise Desktop 11
SUSE Linux Enterprise Desktop 10
Situation
Some modules requested for loading at boot time in the ram disk
(/boot/initrd) or
after the filesystem is active are not loading. In some cases no
error message is documented. In other cases, the errors are logged
in /var/log/messages, /var/log/boot.msg or dmesg output.
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.
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
The module may not have been copied into the ram disk, errored out
when attempting to load, or was unloaded by the system
administrator.
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
TID7000554: Unsupported kernel modules are not loaded automatically on SLES9
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.
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
TID7000554: Unsupported kernel modules are not loaded automatically on SLES9
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.