13.1 VirtualBox no longer working since update from 3.11.6-4-desktop to 3.11.10-7-desktop (rc=-1908)

I get: Kernel driver not installed (rc=-1908)

It worked without problems before the previous update. If booting the old kernel it works. I run “zypper up” as soon as an update is available, so everything is up to date.


ge40L:/home/susebeta # /etc/init.d/vboxdrv setup
Recompiling VirtualBox kernel module, NOT. It has been packaged.                                                                                       done

ge40L:/home/susebeta # systemctl status vboxdrv.service
vboxdrv.service - LSB: VirtualBox Linux module
   Loaded: loaded (/etc/init.d/vboxdrv)
   Active: active (exited) since Fri 2014-02-07 15:29:22 CET; 4s ago
  Process: 3172 ExecStop=/etc/init.d/vboxdrv stop (code=exited, status=0/SUCCESS)
  Process: 3191 ExecStart=/etc/init.d/vboxdrv start (code=exited, status=0/SUCCESS)

Feb 07 15:29:21 ge40L.site systemd[1]: Starting LSB: VirtualBox Linux module...
Feb 07 15:29:22 ge40L.site vboxdrv[3191]: Starting VirtualBox kernel modules..failed
Feb 07 15:29:22 ge40L.site systemd[1]: Started LSB: VirtualBox Linux module.
ge40L:/home/susebeta # dmesg | grep -i box
  445.155343] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
susebeta@ge40L:~> la  /lib/modules/3.11.6-4-desktop/updates/
total 1500
drwxr-xr-x 2 root root   4096 Nov 21 14:12 .
drwxr-xr-x 6 root root   4096 Feb  6 16:34 ..
-rw-r--r-- 1 root root 503808 Nov  4 07:57 ndiswrapper.ko
-rw-r--r-- 1 root root 478152 Nov  8 13:11 vboxdrv.ko
-rw-r--r-- 1 root root 365200 Nov  8 13:11 vboxguest.ko
-rw-r--r-- 1 root root  14384 Nov  8 13:11 vboxnetadp.ko
-rw-r--r-- 1 root root  37568 Nov  8 13:11 vboxnetflt.ko
-rw-r--r-- 1 root root  35400 Nov  8 13:11 vboxpci.ko
-rw-r--r-- 1 root root  70504 Nov  8 13:11 vboxsf.ko
-rw-r--r-- 1 root root   6824 Nov  8 13:11 vboxvideo.ko
susebeta@ge40L:~> la  /lib/modules/3.11.10-7-desktop/weak-updates/updates/
total 8
drwxr-xr-x 2 root root 4096 Feb  6 16:32 .
drwxr-xr-x 3 root root 4096 Feb  6 16:32 ..
lrwxrwxrwx 1 root root   50 Feb  6 16:32 vboxguest.ko -> /lib/modules/3.11.6-4-desktop/updates/vboxguest.ko
lrwxrwxrwx 1 root root   47 Feb  6 16:32 vboxsf.ko -> /lib/modules/3.11.6-4-desktop/updates/vboxsf.ko
lrwxrwxrwx 1 root root   50 Feb  6 16:32 vboxvideo.ko -> /lib/modules/3.11.6-4-desktop/updates/vboxvideo.ko

What shall I do???
How can I debug/find out more about the: Feb 07 15:29:22 ge40L.site vboxdrv[3191]: Starting VirtualBox kernel modules…failed

Thanks and regards


[edit: more info]


ge40L:/home/susebeta # rpm -qa | grep -i virtualbox
virtualbox-guest-x11-4.2.18-2.5.1.x86_64
virtualbox-guest-kmp-default-4.2.18_k3.11.6_4-2.5.1.x86_64
virtualbox-qt-4.2.18-2.5.1.x86_64
virtualbox-host-kmp-desktop-4.2.18_k3.11.6_4-2.5.1.x86_64
virtualbox-host-kmp-default-4.2.18_k3.11.6_4-2.5.1.x86_64
virtualbox-guest-kmp-desktop-4.2.18_k3.11.6_4-2.5.1.x86_64
virtualbox-guest-tools-4.2.18-2.5.1.x86_64
virtualbox-4.2.18-2.5.1.x86_64

See here:
https://bugzilla.novell.com/show_bug.cgi?id=862766

I would recommend you to add the Virtualization repo in YaST->Software Repositories->Add->Community Repositories, and install virtualbox-4.3.6 from there (select the packages in YaST->Software Management and click on “Versions” below the package list to change the installed version). That repo does contain a kernel module for the new kernel 3.11.10 that works fine here.

Thanks for the info.
I will start the old kernel until there is an update that fixes the problem.

As now written in the bug report, to make it work with the new kernel do the following:

cd /lib/modules/3.11.10-7-desktop/weak-updates/updates/
ln -s /lib/modules/3.11.6-4-desktop/updates/vboxdrv.ko
ln -s /lib/modules/3.11.6-4-desktop/updates/vboxnetadp.ko
ln -s /lib/modules/3.11.6-4-desktop/updates/vboxnetflt.ko
ln -s /lib/modules/3.11.6-4-desktop/updates/vboxpci.ko
depmod -a
modprobe vboxdrv

But as already mentioned in the bug report, this DOES NOT work if you configured a bridged network adapter (you’ll get VERR_SUPDRV_COMPONENT_NOT_FOUND), because the kernel module is not compatible with kernel 3.11.10 apparently. And I actually think that’s the reason why that link is not created automatically.
The link creation worked fine for the nvidia driver RPM f.e. which uses the same mechanism.

I am experiencing the same problem. I tried to do as adviced in this thread, but I still get the error message: Kernel driver not installed (rc=-1908) when I try to start a virtual machine. I think I did something wrong along the way and can’t find a way to repair it. Here is what I did:

First I installed VirtualBox 4.3.6 from the Virtualization repo. I initially thought that would solve the problem by itself, and when it didn’t I looked at the installed packages in YaST. It appeared, that the 4.3.6 versions of the packages virtualbox-host-kpm-desktop and virtualbox-guest-kpm-desktop had not been installed, so I installing them again.

Nothing seemed to have changed, so I tried installing them once more, this time explicitely removing the the packages virtualbox-host-kpm-desktop and virtualbox-guest-kpm-desktop version 4.2.18_k3.11.6_4-2.5.1-x86_64. Still the same result.

Now I realized that I should probably also have created the symbolic links mentioned by devnoob. By this time, however I had removed the file that the links should point at, so I reinstalled the older versions of virtualbox-host-kpm-desktop and virtualbox-guest-kpm-desktop, created the links and so on. However running

modprobe vboxdrv

gives this error message:

FATAL: Error inserting vboxdrv (/lib/modules/3.11.10-7-desktop/updates/vboxdrv.ko): Invalid module format

and I get the same error when trying to run a virtual machine.

What am I missing?

You don’t need to install the guest kmp on the host.

Now I realized that I should probably also have created the symbolic links mentioned by devnoob.

No, you shouldn’t have to.

What packages do you actually have installed now?

rpm -qa | grep virtualbox

And what kernel are you using?

uname -a

Maybe you installed the wrong kmp package for your kernel? (f.e. virtualbox-host-kmp-default when you are using kernel-desktop)

PS: there has been an update built against the new kernel yesterday, so both the version included in 13.1 and the one from the Virtualization repo should work now. I tried them both here without problems.

Thanks for your speedy reply. Running rpm -qa as you suggested revealed the problem. I had somehow installed the i586 version of the new packages, when I actually should have used the x86_64. :shame: Now everything works fine again.

Awesome thread as it resolved my issue.

As such Id like to post what I was experiencing. on all four of my systems i installed opensuse 13.1

The desktop seemed to have all the needed dependency’s for a straight install from virtualbox.org

my laptop however needed to add the virtualization repo in order to get virtualbox running.

I suspect this has to do with cpu architecture the desktop has full VM support (able to run 64bit guests)
Desktop CPU:
AMD Phenom™ II X4 945 Processor 64bit

running egrep ‘(vmx|svm)’ /proc/cpuinfo on the desktop returns

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate npt lbrv svm_lock nrip_save

However the laptop does not have full VM support can only run 32bit guests
Laptop CPU: Intel(R) Core™2 Duo CPU P7450

running egrep ‘(vmx|svm)’ /proc/cpuinfo on the laptop however returns nothing.

Weather or not this is why the install process was inconsistent is beyond my scope.

Being as virtualbox is heavily dependent of the CPU features. This is really the only thing that my limited knowledge thinks could be the issue.

but again using yast to remove the broken install adding the virtualization repo and installing with zypper resolved the issue.

But this thread is about the version included in the standard 13.1 distribution, which didn’t work for a while because a kernel update was released which apparently contained an incompatible change.

And this has been fixed a few days after by releasing the virtualbox-host-kmp packages compiled against the new kernel as online update as well.

If you installed the version from virtualbox.org, you were not affected by this. But of course you had to recompile the kernel module yourself against the new kernel, as always.

my laptop however needed to add the virtualization repo in order to get virtualbox running.

I don’t think so. Both the virtualbox.org version and the version included in 13.1 should have worked the same.

I suspect this has to do with cpu architecture the desktop has full VM support (able to run 64bit guests)

No.
It doesn’t matter at all whether you use the version from virtualbox.org or the version included in openSUSE.
They are exactly the same (with some minor differences of course).

The main difference is that openSUSE’s version contains a pre-compiled kernel module so it only works with the kernel included in openSUSE, whereas with the version from virtualbox.org you have to compile the module yourself (with /etc/init.d/vboxdrv setup) and repeat this after each kernel update.

VirtualBox does need hardware virtualization support (which apparently your laptop does not have) to run 64bit guests.
From the VirtualBox manual:

VirtualBox supports 64-bit guest operating systems, even on 32-bit host operating systems,11] provided that the following conditions are met:

  1. You need a 64-bit processor with hardware virtualization support (see Section 10.3, “Hardware vs. software virtualization”).
  1. You must enable hardware virtualization for the particular VM for which you want 64-bit support; software virtualization is not supported for 64-bit VMs.
  1. If you want to use 64-bit guest support on a 32-bit host operating system, you must also select a 64-bit operating system for the particular VM. Since supporting 64 bits on 32-bit hosts incurs additional overhead, VirtualBox only enables this support upon explicit request.

But that has no influence whatsoever on the installation process of VirtualBox itself.

One thing I can imagine that caused you problems, though:
If you install the version from virtualbox.org, you should completely remove openSUSE’s version first. Otherwise an update to the openSUSE packages would overwrite files from the Oracle version, causing problems.
So I guess that’s what happened in your case: you had openSUSE’s version installed, installed the version from virtualbox.org (which does NOT replace openSUSE’s version because the package is named differently). Then you installed updates including the virtualbox-host-kmp packages which broke your virtualbox.org installation.
Of course removing it completely and re-installing it from the repo fixed this.

Anyway, again, your problems have absolutely nothing at all to do with what this thread is about! :wink: