how do i resolve error "Kernel driver not installed (rc=-1908)"

hi all , i am new in opensuse and i installed version 12.3 and i downloaded VirtualBox 4.3.6 from below link:

**http://download.virtualbox.org/virtualbox/4.3.6/VirtualBox-4.3-4.3.6_91406_openSUSE123-1.i586.rpm**


when i run my guest it returend me below error:

Kernel driver not installed (rc=-1908)


and it want to me i run this command as root:

'/etc/init.d/vboxdrv setup'

so when i ran above command it return me below result:

Stopping VirtualBox kernel modules                            done
Recompiling VirtualBox kernel modules                         failed
  (Look at /var/log/vbox-install.log to find out what went wrong)

when i run command

 cat /var/log/vbox-install.log

my result is:

Makefile:186: 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.2 SRCROOT=/tmp/vbox.2 CONFIG_MODULE_SIG= -C /usr/src/linux modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (\
echo >&2;                                                       \
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";       \
echo >&2 ;                                                      \
/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.2/.tmp_versions ; rm -f /tmp/vbox.2/.tmp_versions/*

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

make -f scripts/Makefile.build obj=/tmp/vbox.2
/tmp/vbox.2/Makefile:186: 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.2/linux/.SUPDrv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.7/include -I/usr/src/linux-3.7.10-1.24/arch/x86/include -Iarch/x86/include/generated  -Iinclude -I/usr/src/linux-3.7.10-1.24/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-3.7.10-1.24/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-3.7.10-1.24/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-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 -DCONFIG_AS_AVX=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fomit-frame-pointer -DCC_HAVE_ASM_GOTO -include /tmp/vbox.2/include/VBox/SUPDrvMangling.h -I/usr/src/linux/include -I/tmp/vbox.2/ -I/tmp/vbox.2/include -I/tmp/vbox.2/r0drv/linux -I/tmp/vbox.2/vboxdrv/ -I/tmp/vbox.2/vboxdrv/include -I/tmp/vbox.2/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -Wno-declaration-after-statement -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.2/linux/SUPDrv-linux.o /tmp/vbox.2/linux/SUPDrv-linux.c
/tmp/vbox.2/linux/SUPDrv-linux.c:1:0: error: code model ‘kernel’ not supported in the 32 bit mode
/tmp/vbox.2/linux/SUPDrv-linux.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
make[2]: *** [/tmp/vbox.2/linux/SUPDrv-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.2] Error 2
make: *** [vboxdrv] Error 2

how do i solve it?! thanks for your help … i love opensuse

Any reason why you did not install the package from the OSS repo? That should of course work out of the box.

@hccv
thanks!
do i install anything more or new???

I do not know if that is an answer to my question???

In any case, when I interprete your question “do i install anything more or new???”, and when I understand your statement “i am new in opensuse and i installed version 12.3” as meaning that you installed 12.3 just a few days ago, I could answer: Why did you install 12.3 instead of 13.1?

You need to install “kernel-desktop-devel” and maybe “kernel-syms”. Run this afterwards and it should work:

sudo /etc/init.d/vboxdrv setup

If you do want to use the openSUSE packages, uninstall Oracle’s “VirtualBox” package first, then install virtualbox, virtualbox-kmp-host-desktop and virtualbox-qt.
Btw, newer packages (4.2.20) than shipped with 12.3 (4.2.6) are available, just enter YaST->Software Repositories, select “Add”->“Community Repositories” and enable the Virtualization repo first.

Just curious - are the “guest additions” available anywhere for the version in the OSS repo? I’ve never been able to find it, that’s why I use the one from Oracle. I need USB access, from what I understand, the guest additions provide that. Works fine on openSuse 12.3 by the way.

You mean the Extension Pack.
Yes, you can use the same one from the virtualbox homepage with the openSUSE version.
But USB1.x does work without it, the Extension Pack only provides additional USB2 support:
https://www.virtualbox.org/wiki/Downloads

Support for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards.

Please note that for working USB support with the openSUSE packages you have to copy the file /usr/lib/udev/rules.d/60-vboxdrv.rules to /etc/udev/rules.d/ and then remove some comments there. This is not enabled by default because of security concerns.

@wolfi323

thanks alot for your reply…

i installed two packeage and it is outpout of it:


sudo zypper install kernel-desktop-devel
Loading repository data...
Reading installed packages...
'kernel-desktop-devel' is already installed.
No update candidate for '**kernel-desktop-devel**-3.7.10-1.24.1.**i686**'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.

and


Loading repository data...
Reading installed packages...
'kernel-syms' is already installed.
No update candidate for '**kernel-syms**-3.7.10-1.24.1.**i586**'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

and run command

sudo /etc/init.d/vboxdrv setup

but that error returned to me:

Stopping VirtualBox kernel modules                            done
Recompiling VirtualBox kernel modules                         failed
  (Look at /var/log/vbox-install.log to find out what went wrong)

so has any different between i586 or i686?!? have 2 package of kernel-desktop-devel and kernel-syms diffrent architech.?

Most of the packages are available as i586 only, but some have a i686 version as well (like the kernel and glibc, but not kernel-syms), which might have better performance on non-i586 CPU’s, i.e. everything since the Pentium Pro.

Anyway, those packages were apparently already installed.

Maybe you need “kernel-source” then as well?

If installing that alone does not help, try to do as the message tells you:

Run ‘make oldconfig && make prepare’ on kernel src to fix it.

kernel-source is installed

Reading installed packages...
'kernel-source' is already installed.
No update candidate for 'kernel-source-3.7.10-1.24.1.noarch'. The highest available version is already installed.
Resolving package dependencies...

Run ‘make oldconfig && make prepare’ on kernel src to fix it.

after run below command:


'make oldconfig && make prepare'

it return me:

make: *** No rule to make target `oldconfig'.  Stop.

where is “kernel src”?!

In /usr/src/linux/.

So this should work then:

cd /usr/src/linux/
sudo make oldconfig
sudo make prepare
sudo /etc/init.d/vboxdrv setup

I never installed the Oracle package myself, so I did not really know what exactly is needed to do it.
I’m using the openSUSE packages for years, they work fine and get updated automatically, and no need to recompile the kernel module after a kernel update/distribution upgrade.

If I were to guess, you need to rename existing config to something like config.orig and then rename oldconfig to config to make. I don’t know that any make understands “oldconfig” by default

TSU

i run thos command but it get me faild again at 3rd line!!! :(((((((

I’m using the openSUSE packages for years, they work fine and get updated automatically, and no need to recompile the kernel module after a kernel update/distribution upgrade

are you using openSUSE packages for install VirtualBox?! if yes how?

make doesn’t “understand” oldconfig, that’s true.
But “make oldconfig” tells make to build the target “oldconfig”. And the Kernel Makefile does contain a target “oldconfig”, which just takes the config from the currently running kernel.
Of course the Makefile has to be in the current working directory, that’s why you have to run “cd /usr/src/linux/” first.

And what error message?

are you using openSUSE packages for install VirtualBox?! if yes how?

http://forums.opensuse.org/showthread.php/494362-how-do-i-resolve-error-quot-Kernel-driver-not-installed-(rc-1908)-quot?p=2615426#post2615426

  • Run YaST->Software Repositories, click on “Add”, select “Community Repositories” and add the “Virtualization” repo. (this is not strictly needed, but enables you to install the latest 4.2.20 packages instead of 4.2.6 that was shipped with openSUSE 12.3)
  • Run YaST->Software Management and uninstall the “VirtualBox-4.3.6” package.
  • Then run YaST->Software Management again and install the 3 packages: virtualbox, virtualbox-qt, virtualbox-host-kmp-desktop.

Then you have to add your user to the group “vboxusers” (if you haven’t done so already) and it should just work (after a reboot).

And what error message?

Stopping VirtualBox kernel modules                            done
Recompiling VirtualBox kernel modules                         failed
  (Look at /var/log/vbox-install.log to find out what went wrong)

cat /var/log/vobx-install.log
Makefile:186: 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.3 SRCROOT=/tmp/vbox.3 CONFIG_MODULE_SIG= -C /usr/src/linux modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (\
echo >&2;                                                       \
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";       \
echo >&2 ;                                                      \
/bin/false)
mkdir -p /tmp/vbox.3/.tmp_versions ; rm -f /tmp/vbox.3/.tmp_versions/*

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

make -f scripts/Makefile.build obj=/tmp/vbox.3
  gcc -Wp,-MD,/tmp/vbox.3/linux/.SUPDrv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.7/include -I/usr/src/linux-3.7.10-1.24/arch/x86/include -Iarch/x86/include/generated  -Iinclude -I/usr/src/linux-3.7.10-1.24/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-3.7.10-1.24/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-3.7.10-1.24/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i586 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_AVX=1 -pipe -Wno-sign-compare -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fasynchronous-unwind-tables -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -include /tmp/vbox.3/include/VBox/SUPDrvMangling.h -I/usr/src/linux/include -I/tmp/vbox.3/ -I/tmp/vbox.3/include -I/tmp/vbox.3/r0drv/linux -I/tmp/vbox.3/vboxdrv/ -I/tmp/vbox.3/vboxdrv/include -I/tmp/vbox.3/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -Wno-declaration-after-statement -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.3/linux/.tmp_SUPDrv-linux.o /tmp/vbox.3/linux/SUPDrv-linux.c
/bin/sh: scripts/genksyms/genksyms: No such file or directory
make[2]: *** [/tmp/vbox.3/linux/SUPDrv-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.3] Error 2
make: *** [vboxdrv] Error 2

But that’s line 4 then, not line 3… :wink:

[QUOTE=admirall0025;2615683]

Stopping VirtualBox kernel modules                            done
Recompiling VirtualBox kernel modules                         failed
  (Look at /var/log/vbox-install.log to find out what went wrong)

cat /var/log/vobx-install.log
Makefile:186: 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.3 SRCROOT=/tmp/vbox.3 CONFIG_MODULE_SIG= -C /usr/src/linux modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (\
echo >&2;                                                       \
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";       \
echo >&2 ;                                                      \
/bin/false)
mkdir -p /tmp/vbox.3/.tmp_versions ; rm -f /tmp/vbox.3/.tmp_versions/*

Actually I was jumping to wrong conclusions here. That is no error message. That are just the statements in the Makefile that would print an error message if the kernel sources would not be found.
Sorry, I didn’t look well enough…

[EDIT]Well, I had a look again at your first post, and there the error message was indeed printed.
So we didn’t do unnecessary things, my conclusion was right… :wink:
[/EDIT]

make -f scripts/Makefile.build obj=/tmp/vbox.3
gcc -Wp,-MD,/tmp/vbox.3/linux/.SUPDrv-linux.o.d -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.7/include -I/usr/src/linux-3.7.10-1.24/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-3.7.10-1.24/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-3.7.10-1.24/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-3.7.10-1.24/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i586 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_AVX=1 -pipe -Wno-sign-compare -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fasynchronous-unwind-tables -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -include /tmp/vbox.3/include/VBox/SUPDrvMangling.h -I/usr/src/linux/include -I/tmp/vbox.3/ -I/tmp/vbox.3/include -I/tmp/vbox.3/r0drv/linux -I/tmp/vbox.3/vboxdrv/ -I/tmp/vbox.3/vboxdrv/include -I/tmp/vbox.3/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -Wno-declaration-after-statement -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.3/linux/.tmp_SUPDrv-linux.o /tmp/vbox.3/linux/SUPDrv-linux.c
/bin/sh: scripts/genksyms/genksyms: No such file or directory
make[2]: *** [/tmp/vbox.3/linux/SUPDrv-linux.o] Error 1
make[1]: *** [module/tmp/vbox.3] Error 2
make: *** [vboxdrv] Error 2

But there is a different error now than it was before.
Try to run this as well (inside the kernel source directory) before you run “sudo /etc/init.d/vboxdrv setup”:

sudo make scripts

@wolfi323

thanks very lot for your help :good:
my problem is solved
thanks lots…

I have been following these comments because I seem to have the same problem. I thought that now it would work as *** did for the original query.
However having done all that has been suggested, i have the following message after doing the /etc/init.d/vboxdrv setup:

2209.929628] vboxdrv: no symbol version for module_layout

Make scripts runs ok.
Thanks Trevor

And did you try if VirtualBox works? This looks more like a warning.

What’s the output of:

sudo systemctl status vboxdrv.service

Do you have kernel-syms installed? I think this is needed for including symbol version information when building a kernel module.