cant run virtual machine after some kernel updates

i am using virtualbox i cant run virtualbox machine, it says to run /etc/init.d/vboxdrv setup. here is the output:

 Recompiling VirtualBox kernel module, NOT. It has been packaged.                                                   done 

and here is the output of /etc/init.d/vboxdrv status

 VirtualBox kernel module is not loaded. vboxdrv.service - LSB: VirtualBox Linux module           Loaded: loaded (/etc/init.d/vboxdrv)           Active: active (exited) since Sat, 2013-05-18 23:12:45 IRDT; 22h ago          Process: 563 ExecStart=/etc/init.d/vboxdrv start (code=exited, status=0/SUCCESS)           CGroup: name=systemd:/system/vboxdrv.service  May 18 23:12:45 linux-wc0d.site systemd[1]: Starting LSB: VirtualBox Linux module... May 18 23:12:45 linux-wc0d.site vboxdrv[563]: Starting VirtualBox kernel modules..failed May 18 23:12:45 linux-wc0d.site vboxdrv[563]: (modprobe vboxdrv failed. Please use 'dmesg' to find out why) May 18 23:12:45 linux-wc0d.site systemd[1]: Started LSB: VirtualBox Linux module. 

and the last line of dmesg says:

  9004.892153] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use) 

and i know i should have kernel sources. here is the ls /usr/src

 linux             linux-3.7.10-1.4-obj  linux-3.9.1-7.gb6484b6      linux-obj linux-3.7.10-1.4  linux-3.9.0-6         linux-3.9.1-7.gb6484b6-obj  packages 

and finally uname -a

 Linux linux-wc0d.site 3.9.1-7.gb6484b6-desktop #1 SMP PREEMPT Wed May 8 15:02:04 UTC 2013 (b6484b6) x86_64 x86_64 x86_64 GNU/Linux 

and i have kernel sources. i had this problem for sometime, and the machine runs on 3.7.10 kernel, but not the newer one. thx

You are running kernel 3.9.1.
openSUSE’s kernel module packages won’t work on that kernel since they are compiled for the standard 3.7.10 kernel.

So either uninstall the 3.9.1 kernel or use the VirtualBox packages directly from http://www.virtualbox.org/ !

i know i am running 3.9.1, maybe i wrote it in a bad way. doesnt “/etc/init.d/vboxdrv setup” supposed to compile modules for the currently used kernel?

Yeah, sorry I misunderstood you. I thought you wanted to say you’re running the older kernel with

and the machine runs on 3.7.10 kernel, but not the newer one

But after reading it again, I now know what you meant (vbox works on the older kernel but not on the newer)!:wink:
Anyway, my advice is the same:

doesnt “/etc/init.d/vboxdrv setup” supposed to compile modules for the currently used kernel?

Not if you use openSUSE’s packages. They include precompiled kernel modules (for the specific kernel included in openSUSE) and no sources, so “vboxdrv setup” is disabled there.

As I wrote, you have two options:

  • Use the standard 12.3 kernel
  • or uninstall openSUSE’s virtualbox packages and use the RPM from virtualbox.org

(ok, a 3rd option would be to download VirtualBox’s source and compile everything yourself…;))