doesn't find a kernel module on boot

Hi

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
Bye

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

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

However:

/lib/modules/2.6.34.7-0.4-default/modules.dep: no such file or directory

Thank you
Bye

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=yes
 else
-    DO_BLOGD=no
+    DO_BLOGD=yes
 fi
 if test "\$PREVLEVEL" = "N" ; then
     if rc_cmdline confirm > /dev/null ; then
@@ -149,7 +149,7 @@
 	DO_QUIET=yes
     fi
     if test "\$DO_FASTBOOT" = yes -o "\$DO_QUIET" = yes -o ! -x /sbin/blogd ; then
-	DO_BLOGD=no
+	DO_BLOGD=yes
     fi
     test -e /var/run/no_blogd && DO_BLOGD=no
     rm -f   /var/run/no_blogd
EOFRC

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

Which module missing?
Post:


su -
password:
lsmod

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.

ok…

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/2.6.34.7-0.4-default/modules.dep: 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/2.6.34.7-0.3-default/ 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 2.6.34.7-0.3-default. But in /lib/modules I have a directory only for the 2.6.34.7-0.4-default…

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
Bye

Wait a minute! You should not boot kernel 2.6.34.7-0.3 after updating to kernel 2.6.34.7-0.4, 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 2.6.34.7-0.3 instead of 2.6.34.7-0.4.

Ohhhh

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
Bye

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)