LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Suse/Novell (http://www.linuxquestions.org/questions/suse-novell-60/)
-   -   Virtualbox kernel modules won't load after updating kernel in openSUSE 11.0 (http://www.linuxquestions.org/questions/suse-novell-60/virtualbox-kernel-modules-wont-load-after-updating-kernel-in-opensuse-11-0-a-696801/)

JamesHall 01-12-2009 02:05 PM

Virtualbox kernel modules won't load after updating kernel in openSUSE 11.0
 
Hi everyone,

I'm running openSUSE 11.0. I recently updated the kernel from 2.6.25.5-1.1-default to 2.6.25.18-0.2-default via the openSUSE Updater. While this solved some minor problems which I was having, it's introduced a new one, namely that VirtualBox doesn't work any more.

The Virtualbox packages installed on my system are:

virtualbox-ose version 1.5.6-33.1-i586
virtualbox-ose-guest-tools version 1.5.6-33.1-i586
virtualbox-ose-kmp-default version 1.5.6_2.6.25.5_1.1-33.1-i586
xorg-x11-driver-virtualbox-ose version 1.5.6-33.1-i586

All of these are from download.opensuse.org/distribution/11.0/repo/oss/.

After the kernel update, I launched VirtualBox in the usual way, selected the virtual machine that I wanted to open and hit 'Start', and was presented with the message:

Quote:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

Result Code:
0x80004005
Component:
Console
Interface:
IConsole {1dea5c4b-0753-4193-b909-22330f64ec45}
Running ls /dev/v* confirmed that /dev/vboxdrv did not exist.

So as instructed, I ran /etc/init.d/vboxdrv setup as root, and got this:

Quote:

Stopping VirtualBox kernel module done
Recompiling VirtualBox kernel module, NOT. It has been packaged. done
Starting VirtualBox kernel module failed
(Kernel module not found)
The Virtualbox kernel modules vboxadd.ko, vboxdrv.ko and vboxvfs.ko are located in /lib/modules/2.6.25.5-1.1-default/updates/. Sym links to these files are present in /lib/modules/2.6.25.18-0.2-default/weak-updates/

Trying to load the Virtualbox kernel modules manually, I ran the command modprobe vboxdrv.ko, which completed successfully, but modprobe vboxadd and modprobe vboxfs both failed:

Quote:

suse:/etc/init.d/rc5.d # modprobe vboxdrv
suse:/etc/init.d/rc5.d # modprobe vboxadd
FATAL: Error inserting vboxadd (/lib/modules/2.6.25.18-0.2-default/weak-updates/vboxadd.ko): No such device
suse:/etc/init.d/rc5.d # modprobe vboxvfs
WARNING: Error inserting vboxadd (/lib/modules/2.6.25.18-0.2-default/weak-updates/vboxadd.ko): No such device
FATAL: Error inserting vboxvfs (/lib/modules/2.6.25.18-0.2-default/weak-updates/vboxvfs.ko): Unknown symbol in module, or unknown parameter (see dmesg)
The relevant bit of the dmesg output is:

Quote:

vboxdrv: Trying to deactivate the NMI watchdog permanently...
vboxdrv: Successfully done.
vboxdrv: TSC mode is 'synchronous', kernel timer mode is 'normal'.
vboxdrv: Successfully loaded version 1.5.6_OSE (interface 0x00050002).
vboxadd: VirtualBox PCI device not found.
vboxadd: VirtualBox PCI device not found.
vboxvfs: Unknown symbol vboxadd_cmc_open
vboxvfs: Unknown symbol vboxadd_cmc_ctl_guest_filter_mask
vboxvfs: Unknown symbol vboxadd_cmc_call
vboxvfs: Unknown symbol vboxadd_cmc_close
Can anyone tell me how to fix this? The only course of action I can think of is to either (a) downgrade my kernel back to 2.6.25.5-1.1-default, which I'd prefer not to do if I have another option, or (b) uninstall the Virtualbox 1.5.6 packages and manually install a newer version of Virtualbox from virtualbox.org, which is easy enough, but since 1.5.6 has worked fine for me up to now, I'd prefer to get the currently installed version working again if possible.

As always, all suggestions and advice are greatly appreciated.

Thanks

James.

Xian 01-12-2009 06:51 PM

Quote:

Originally Posted by JamesHall (Post 3406066)
I'm running openSUSE 11.0. I recently updated the kernel from 2.6.25.5-1.1-default to 2.6.25.18-0.2-default via the openSUSE Updater. While this solved some minor problems which I was having, it's introduced a new one, namely that VirtualBox doesn't work any more.

The Virtualbox packages installed on my system are:

virtualbox-ose version 1.5.6-33.1-i586
virtualbox-ose-guest-tools version 1.5.6-33.1-i586
virtualbox-ose-kmp-default version 1.5.6_2.6.25.5_1.1-33.1-i586
xorg-x11-driver-virtualbox-ose version 1.5.6-33.1-i586

The problem is that the installed RPM package for your virtualbox module was compiled against the older 2.6.25.5_1.1 kernel. When you make a significant upgrade to your kernel you also have to either (1) install a RPM virtualbox module pkg for the newer kernel (if available), or (2) compile the module yourself.

JamesHall 01-16-2009 04:53 PM

Thanks Xian, I thought that was the case but just wanted to see if there was a quick workaround.

I've now downloaded and installed the VirtualBox 2.10 rpm for openSUSE 11.0 from http://www.virtualbox.org/wiki/Linux_Downloads, it went in fine and is now up and running. I have one further question though:

I currently have one guest machine set up under Virtualbox. If I launch VirtualBox and try to access the Settings of my guest machine, I get a warning message saying:

Quote:

Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.

Result Code:
NS_ERROR_FAILURE (0x00004005)
Component:
Host
Interface:
IHost {f39438d7-abfd-409b-bc80-5f5291d92897}
Callee:
IMachine {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
Initially I thought this might be because I hadn't upgraded the version of Guest Additions running on the guest OS, but I have now upgraded it and I'm still getting the warning. The manual says:

Quote:

In order to use VirtualBox's USB support, the user account under which you intend to run VirtualBox must have read and write access to the USB filesystem (usbfs).
I'm running VirtualBox under my normal user account, which I presume has read & write access to usbfs since I have several USB devices which all work fine. What does this warning message indicate, and how might I fix it? I can't see myself wanting to connect any USB devices to the guest OS but it's running so nicely otherwise, it would be great to sort this out too.

Thanks

James.

Xian 01-17-2009 02:52 AM

The USB issue is covered in the V/Box FAQ page.

JamesHall 01-26-2009 05:15 PM

The VBox FAQ page says:

Quote:

USB: if you are having trouble accessing USB devices in a guest, make sure that you are a member of the vboxusers system group.
I am already a member of the vboxusers system group, looks like the problem is elsewhere...

1kyle 01-29-2009 03:45 AM

Hi there
A "Get around" is to say mount the USB as a conventional disk on the Host system with either FAT / NTFS (if your guest is a Windows machine).

md /mnt/usbdev1
mount - t ntfs-3g -o rw /dev/sdx / mnt/usbdev1

where sdx is the physical partition of the USB device.
Ensure you (and the network users) have READ / WRITE access to /mnt/usbdev1 and any sub directories.

Now use SAMBA to share the device with the virtual machine
Bit of a pain but this method ALWAYS works.

The details of setting this up are beyond the scope of this post but the documentation on this topic is quite straight forward - just google a bit on SAMBA.

If your Guest VM is another Linux machine the shared networking should still work using NFS.

Disadvantage of this is that it's not Plug and play but you can mount and unmount the device

Note current linux kernels have NTFS read write facilty now if you are sharing with windows - it's the FUSE module in the kernel. When mounting NTFS for read write the file type is ntfs-3g.

For Networking treat a Virtual machine exactly as you do a physical machine. You might have a choice of the "Virtual" network adapter - usually you get 3 choices in most types of Virtual Machine software:

1) Host Only -- the VM can network with the Host but no outside LAN or Internet
2) NAT the VM can see the rest of the network including the Internet but uses "shares" the same IP address as the host
3) Bridged the VM gets it's own IP address - your router / LAN will see the VM machine as being on a totally different address.

For testing it's usually easier to start with Host Only and disable firewalls.


cheers
-K

JamesHall 02-03-2009 04:36 PM

1kyle,

Thank you for these very clear instructions, I'll give it a try.

J.


All times are GMT -5. The time now is 04:12 PM.