doesn't find a kernel module on boot


I installed suse two days ago, just to try. I used it for two days without problem and I like it.

But today it shows me an error activating device mapper during boot, and then it said that it can’t find a kernel module.

The boot process continues as it should (but showing a lot of error about that kernel module). At the end, everything that is integrated in the motherboard doesn’t work: ethernet, audio, video.

What I can do? I didn’t play with Yast in these two days, so I find it really strange.

Thank you

Can you pay attention to which kernel module exactly? It should tell you its name.

Why dmesg doesn’t show anything about this error??


/lib/modules/ no such file or directory

Thank you

Because it logs the boot process and not the init process (anymore).
Here’s a script to restore init log (if you like). It might show some more infos.

#! /bin/bash
cat << EOFRC | patch -b -p0
--- /etc/rc.d/rc.orig	2010-05-28 07:38:17.000000000 -0700
+++ /etc/rc.d/rc	2010-09-22 20:44:24.000000000 -0700
@@ -129,7 +129,7 @@
 if test "\$RUNLEVEL" != "\S" ; then
-    DO_BLOGD=no
+    DO_BLOGD=yes
 if test "\$PREVLEVEL" = "N" ; then
     if rc_cmdline confirm > /dev/null ; then
@@ -149,7 +149,7 @@
     if test "\$DO_FASTBOOT" = yes -o "\$DO_QUIET" = yes -o ! -x /sbin/blogd ; then
+	DO_BLOGD=yes
     test -e /var/run/no_blogd && DO_BLOGD=no
     rm -f   /var/run/no_blogd

Yes one module listed in that file is missing. It will help if we know which one.

Which module missing?

su -

if it’s missing, it’s not loaded. You won’t find out with lsmod yet.
copy/paste the code I posted in #4 and save it in a text file, call it as you like, let’s say ‘rcpatch’, then type (from current directory) :
bash rcpatch
reboot and look in dmesg.
I don’t garantee it will tell us … but it’s worth a try.


Dmesg seems showing nothing else, also with the patch. But there is also a good news: I found the real problem. :slight_smile:

During boot the exact error was “could not load /lib/modules/ no such file or directory”. So I went in the directory and I find that the file modules.dep doesn’t exist.

I ran depmod -a and i get something like: could not open /lib/modules/ no such file or directory".

As you can see the two kernel are different. I ran uname -r and I found that my running kernel is But in /lib/modules I have a directory only for the…

So… two questions:

  1. how I can fix it? Simply changing the directory name??
  2. How it happen? I’m not new to linux and I’m sure that I never changed anything in my new suse system. :smiley:

Thank you

Wait a minute! You should not boot kernel after updating to kernel, unless you have a very good reason to do that.
How does your /boot/grub/menu.lst look like?

No. Well … maybe. But please boot the kernel you just installed before renaming anything.

I just told you. You’re booting instead of


Yes. It was a boot problem. Or my problem if you prefer… :smiley:

I forgot that I have a /boot partition and I didn’t mount it in the system. :smiley:
So it add the new kernel files in the root partition and not in the boot one (where I have only the 2.6.34-0.3).

Just other two questions

  1. in the boot partition I have the folder grub and then a folder for each system with the kernel files and initrd. How I can say to the system to add the new files in the folder /boot/suse and not directly to /boot?

  2. why it deletes the old kernel modules when upgrade to a new one? can i set something to do it manually?

Thank you

Maybe you could (I don’t know how) … but that would be a really bad idea. Let’s just assume it is not possible. If you’re trying to share a /boot paritition with different Linux versions, that’s a bad idea too. Either create another /boot partition or move it to / and don’t mount it anymore. You have to edit /boot/grub/menu.lst to match the changes and reinstall Grub if the root partition if needed.

Yes, just uncomment the following line in /etc/zypp/zypp.conf:

multiversion = provides:multiversion(kernel)