VirtualBox kernel module, NOT. It has been packaged.

Hi,

I just up-graded to the latest version of the stable 11.4 64bit kernel on my laptop and it appears that the repositories have not compiled the VirtualBox driver module for the current kernel …

When I make /vboxdrv setup the message is:

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

I think this means that the installed module will not recompile has it was packaged.

My kernel version is the lattest :

2.6.37.6-0.5-1

And my VirtualBox was installed from the Virtualization repos (4.0.8.11-1) even made the Vendor change and all.

The version Before the lattest (4.0.4-1.6) did not work either. With the same problem.

It is very easy to install VirtualBox from the Sun site and every time there is a Kernel up-date one can always make /etc/vboxdrv setup.
I usually worked with Virtualbox like that for many years.

But if someone could make the repos up-to-date it would likely help our less experienced users.

Regards

Hi,

For those in a hurry to get VB working I also made:
insmod /lib/modules/2.6.37.6-0.5-desktop/updates/vboxdrv.ko
And the module gets loaded and everything works … maybe it is not a problem of recompiling …

Regards

Hi,

Today there was an up-grade of VirtualBox to version 4.0.10-8.1 and the problem is still the same …
The driver does not load and one has to make:

insmod /lib/modules/2.6.37.6-0.5-desktop/updates/vboxdrv.ko

manually in order for VirtualBox to run the installed VM’s …

Regards.

The easiest IMO is

  • installing the Oracle VirtualBox repo:
zypper ar -f http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/  virtualbox
zypper refresh
  • installing VirtualBox from there
zypper in VirtualBox-4.0
  • the latest version is 4.0.10r72479
vboxmanage -v

In order to have the module compiled while installing VirtualBox for the first time it’s necessary to install the kernel sources and the compiler BEFORE VirtualBox.

The following scripts may be useful while dealing with VirtualBox

Notice that running service vboxdrv setup is not a big deal (but modautocompile can rebuild other modules as well*) and updating the extensions pack doesn’t seem to be necessary (however it’s nice to have that possibility).

  • using it for the ati module is not necessary anymore since the fglrx package installs a similar service. I don’t know about nvidia.

Hi,

I’ve installed suse 11.4 today and I’m not able to get VB running. I have tried several things I’ve found here and there, to no avail. I’d really appreciate some help.

I came to this page because after re+uninstalling VB several times from the two usual repos, I ended up getting the “… NOT.” message.

I have just done this. vboxmanage tells me that my kernel is 2.6.37.1-1.2-desktop but I thought I installed 2.6.37.6-0.5-desktop… I am quite a newbie in these things. On the other hand…

… just in case, I tried this I got “file not found”:

l /lib/modules/2.6.37.6-0.5-desktop/
lrwxrwxrwx 1 root root   44 Jul  1 23:45 build -> /usr/src/linux-2.6.37.6-0.5-obj/i386/desktop/
lrwxrwxrwx 1 root root   27 Jul  1 23:45 source -> /usr/src/linux-2.6.37.6-0.5/

Now, with /etc/init.d/vboxdrv setup I get a different failure, I am told to check a certain log file:

more /var/log/vbox-install.log

Makefile:172: Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.
make KBUILD_VERBOSE=1 SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -C /usr/src/linux modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
echo;                                                           \
echo "  ERROR: Kernel configuration is invalid.";               \
echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
echo;                                                           \
/bin/false)

  ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.

mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*

  WARNING: Symbol version dump /usr/src/linux-2.6.37.6-0.5/Module.symvers
           is missing; modules will have no dependencies and modversions.

make -f scripts/Makefile.build obj=/tmp/vbox.0
/tmp/vbox.0/Makefile:172: Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.
  gcc -Wp,-MD,/tmp/vbox.0/linux/.SUPDrv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.5/include -I/usr/src/linux-2.6.37.6-0.5/arch/x86/include -Iinclude  -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Ws
trict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mno-red-zone -mcmodel=kernel -maccumulate-outgoing-args -DCONFIG_AS_CFI
_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fomit-frame-pointer -DCC_HAVE_ASM_GOTO -include /tmp/vbox.0/include/VBox/SUPDrvMangling.h -I/usr/src/linux/include -I/tmp/vbox.0/ -I/tmp/
vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxdrv/ -I/tmp/vbox.0/vboxdrv/include -I/tmp/vbox.0/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDE
NING -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(SUPDrv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/linux/SUPDrv-linux.o /tmp/vbox.
0/linux/SUPDrv-linux.c
/tmp/vbox.0/linux/SUPDrv-linux.c:1:0: error: code model ‘kernel’ not supported in the 32 bit mode
/tmp/vbox.0/linux/SUPDrv-linux.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
make[2]: *** [/tmp/vbox.0/linux/SUPDrv-linux.o] Error 1                                                                                                                                                                                      
make[1]: *** [_module_/tmp/vbox.0] Error 2                                                                                                                                                                                                   
make: *** [vboxdrv] Error 2

I have no clue… looks like there may be something else to do with the kernel, or its source, or… ??

Regards

Which kernel are you running?

uname -r

Which kernel packages and sources are installed?

rpm -qa | grep kernel

Which kernel does the following link point to:

readlink /usr/src/linux

Well, your questions pointed me in the right direction! My kernel was an older version (even the link you asked me about was pointing to that newer version). I updated it to 2.6.37.6-0.5-desktop and then /vboxdrv setup worked like a charm. Now I have a shiny brand new VM at my feet :slight_smile:

Thanks a lot

I have the same problem with openSUSE 11.3. The kernel files look fine. Any suggestions? Thanks

zypper info virtualbox

Repository: @System
Name: virtualbox
Version: 4.0.10-1.1
Arch: x86_64
Vendor: obs://build.opensuse.org/Virtualization
Installed: Yes
Status: up-to-date
Installed Size: 23.0 MiB

rstats:~ # /etc/init.d/vboxdrv setup
Recompiling VirtualBox vboxadd kernel module, NOT. It has been packaged. done

rstats:~ # rpm -qa | grep kernel
kernel-desktop-2.6.34.8-0.2.1.x86_64
kernel-firmware-20100617-2.2.noarch
kernel-devel-2.6.34.8-0.2.1.noarch
kernel-default-devel-2.6.34.8-0.2.1.x86_64
kernel-default-2.6.34.8-0.2.1.x86_64
kernel-syms-2.6.34.8-0.2.1.x86_64
kernel-xen-devel-2.6.34.8-0.2.1.x86_64
kernel-desktop-devel-2.6.34.8-0.2.1.x86_64

rstats:~ # readlink /usr/src/linux
linux-2.6.34.8-0.2

You’re not using the VirtualBox version from oracle repo. You have that:

# zypper info virtualbox

Repository: @System
Name: virtualbox
Version: 4.0.10-1.1
Arch: x86_64
Vendor: obs://build.opensuse.org/Virtualization
Installed: Yes
Status: up-to-date
Installed Size: 23.0 MiB

and I have that:


Repository: openSUSE:Virtualization
Name: virtualbox
Version: 4.0.10-1.1
Arch: x86_64
Vendor: obs://build.opensuse.org/Virtualization
Installed: No
Status: not installed
Installed Size: 22.9 MiB

and I also have that:

rpm -qi $(rpm -qa | grep VirtualBox)
Name        : VirtualBox-4.0               Relocations: (not relocatable)
Version     : 4.0.12_72916_openSUSE114          Vendor: Oracle Corporation
Release     : 1                             Build Date: Sat 16 Jul 2011 05:15:20 AM PDT
Install Date: Wed 20 Jul 2011 01:54:40 PM PDT      Build Host: tinderlin3.germany.sun.com
Group       : Applications/System           Source RPM: VirtualBox-4.0-4.0.12_72916_openSUSE114-1.src.rpm
Size        : 120300670                        License: GPLv2
Signature   : DSA/SHA1, Sat 16 Jul 2011 05:29:43 AM PDT, Key ID 54422a4b98ab5139
URL         : http://www.virtualbox.org/
Summary     : Oracle VM VirtualBox

it was installed from this repo:

zypper lr -u | grep virtualbox
27 | virtualbox   | virtualbox    | Yes   | No   | [noparse]http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/ [/noparse]

Yes, you don’t have to recompile the kernel module with this version (AFAIK). Thus, this command has no effect.

Affirmative. Current versions will cause an automatic recompilation of the module during an update.

This is what I had to do:


# uname -r
2.6.37.6-0.7-default

# cd /lib/modules/2.6.37.6-0.7-default/
# ln -s /usr/src/2.6.37.6-0.7-default build
# cd /usr/src/2.6.37.6-0.7-default
# make mrproper
# cp /boot/config-$(uname -r) .config
# make oldconfig
# make prepare
# make scripts

After that I was able to run:


/etc/init.d/vboxdrv setup