quirks with VirtualBox and kernel, suse 11.3

I am not sure whether to post here or in the virtualization forum.

I tried to install VirtualBox 4.1.10 from the https://www.virtualbox.org/wiki/Linux_Downloads on my system (an Opensuse 11.3 64-bit system whose kernel was labelled 2.6.37-rc5-desktop). The download fires yast2 “install and remove s/w”.

I experienced difficulties after the installation (it said that the VirtualBox kernel module was not loaded, and this was due to missing kernel-source and kernel-syms packages. But even after loading these, and running a number of other steps, which solved problems bit by bit, I still was unable to start it with vboxdrv: no symbol version for module_layout.

I report below on the procedure steps in this colour (just in case they affect what I did later). After this I decided to try to use the Virtual Box packages provided by yast in the standard 11.3 repositories, though I was confused about what to choose.

Yast2 showed me a package called virtualbox-ose (which once installed appears to be VirtualBox 3.2.6 … is this 3.2.6 “commensurable” with 4.1.10 ? i.e. is it “so old”). When ticked it had a dependency on the guest kernel modules kmp-desktop. There was also a package Virtual Box Guest Tools and one Virtual Box X11 drivers. They had dependencies on the host kernel modules and guest kernel modules labelled kmp-default.

So I selected the three packages (OSE, Guest Tools, and X11 drivers) and therefore accepted whatever dependencies (including the two “desktop” and “default”) and whatever yast2 added. Yast2 completed and said to reboot to activate the new kernel.

When I rebooted, the kernel selected by default was unusable. It fails with

  •    unknown filesystem ext4
      could not mount root
      sh cannot set terminal process group -1 inappropriate ioctl
      sh no job control in this shell*

and the only way to exit is to power the machine off. Apparently there are three kernels in /boot (which appear as 6 in the GRUB loader because of the “failsafe”). They are called:

  • vmlinuz- (this one is bootable and I have now selected it as default for boot)
  • vmlinuz- (this is the one which fails and was previously selected)
  • vmlinuz-2.6.37-rc5-desktop (this is the old one, which still works)

So my first question: should I clear the kernel mess and how ? Should I de-install some packages ? Or is it sufficient that from the yast boot loader menu I remove the failed ones ?

The second question concerns Virtual Box. Apparently during the boot there is an error vboxguest: VirtualBox Guest PCI device not found… If in /etc/init.d I do ./vboxadd status I obtain The VirtualBox Additions are not currently running. and if I do a start it says modprobe vboxguest failed. The VirtualBox GUI starts, but I did not dare to proceed creating a VM. I have no idea whether the “guest additions” will be important or not. Is this configuration safe to work on ?

The third question is whether the Suse 11.3 bundled Virtual Box 3.2.6 is “new enough”.. Which, in the case I’d want to install from the Oracle site, goes back to why the original procedure failed.

That’s why I describe below what I did before trying to install from Suse repositories (would that have had some unpleasant side effects ?)

My first step with the old 2.6.37-rc5-desktop kernel was just to load from the Oracle repository. When terminated, an attempt to run VirtualBox said

*The vboxdrv kernel module is not loaded. Either there is no module available for the current kernel (2.6.37-rc5-desktop) or it failed to load. Please recompile the kernel module and install it by sudo /etc/init.d/vboxdrv setup *

The setup in turn said

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

and install-log said *unable to find the sources of your current Linux kernel *

According to pag. 35 of the VB manual I had to load packages kernel-source and kernel-syms.

So with yast I first deinstalled VB 4.1, then I installed the two packages, then I reloaded VB from Oracle.

This time the error in install.log was different
*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.

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

I went in /usr/src/linux and did a make oldconfig (depite I was worried by the fact my kernel was labelled as “optimized for desktop”. This asked me a lot of unintelligible questions, to all which I replied with <CR> accepting whatever default.
I also did make prepare (and took note of files created in the two steps).

I then deinstalled VB with yast2 and reloaded from Oracle. This time the error in install log was gone, the warning was still there, and there was a new error on missing /bin/sh: scripts/genksyms/genksyms

I found on this forum an old note about 11.2 which said to make also make scripts and *make dep *. Which I did (the first makes the missing script, the second is said to be unnecessary now)

Again I deinstalled VB with yast2 and reloaded from Oracle. This time the procedure goes succesfully past the step recompilinhg VB kernel modules done, but fails with

*modprobe vboxdrv failed. Please use dmesg to find out why *

and dmesg says vboxdrv: no symbol version for module_layout

I found a note in another forum talking of make modules_prepare. I did it (creates include/linux/version.h)

Again I deinstalled VB with yast2 and reloaded from Oracle. But with no avail, I was still getting the same error as before.

So at this stage I quit, and (with /usr/src/linux left to what I had), I did the procedure above (in orange) to load VB “ose” from suse repositories

Please tell me if there is any way which needs to go back to the old kernel. I have a second backup disk which is rsynced every night from the primary one, so it was updated yesterday night. I have suspended the crontab today, so I will be able to go back to whatever configuration I had yesterday and resume from there !!

What it does affect is the readibility of your post.

This needs to be moved the correct forum. I ask everyone to hold off on any help until the move has been made.

Thank You,

This message thread is now open for business.

Thank You,

I strongly suggest you read through the following article on the usage of VirtualBox: http://forums.opensuse.org/content/59-how-install-virtualbox-opensuse-11-4-12-1-tumbleweed.html

I also suggest you might want to upgrade to a supported openSUSE version such as openSUSE 12.1 or peraps 11.4 and to consider doing a clean installation.

Thank You,

On 2012-03-29 03:56, jdmcdaniel3 wrote:
> luciochiappetti;2451998 Wrote:

>> Please tell me if there is any way which needs to go back to the old
>> kernel. I have a second backup disk which is rsynced every night from
>> the primary one, so it was updated yesterday night. I have suspended
>> the crontab today, so I will be able to go back to whatever
>> configuration I had yesterday and resume from there !!

That’s a good thing, a backup.

But I’m sorry I can not give good advice because I get lost with your
description: I don’t know when you talk of the host and when of the guest.
Or is it all the host, because you have not yet created the guest machine?

One detail is that you will have problems with the versions of packages
because 11.3 is “obsolete”.

Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

I tend to upgrade OS only when I change the hardware. I am extremely reluctant to do it frequently because I’d have to recheck all my customizations. Anyhow I succeeded in having the latest VirtualBox 4.1.12 under Suse 11.3.

My original mistakes were: 1) to try installing from the Oracle web site and not with yast (and without having kernel-source and kernel-syms packages); 2) to try installing with yast the “virtual box ose” and its dependencies bundled with 11.3. They are both messy.

What I should have done (and I finally did) was to follow/adapt this and this links.

  • make sure to have kernel-source and kernel-syms

  • in yast2 repositories define the repository http:// download.virtualbox.org/virtualbox/rpm/opensuse/11.3

  • install the latest VirtualBox with yast from the oracle repository

  • download and save to disk the latest extension pack from the oracle web site

  • as root do VBoxManage extpack install /somewhere/Oracle_VM_VirtualBox_Extension_Pack-???.vbox-extpack (if one uses virtual box as user, one cannot do this as user inside virtualbox itself !)

  • in each virtual machine install the guest additions using the appropriate button in the devices menu

I must confess I was somewhat confused by what “extension pack”, “guest additions”, “host addition kernel modules” and “guest addition kernel modules” were. Now I understand. Also I am not fully sure the above procedure (which, once I deinstalled all previous stuff, went very smoothly) is fully reproducible or relies on the kernel build done in the previous wrong steps. This is a suse-only question and I will ask it in the appropriate forum.

Anyhow the 11.3-bundled ose vbox did run somehow. It allowed me to install an OS in a virtual machine using the host CD drive and/or an host-resident ISO image, to use a NAT network, and to share folders. Originally I did not have mouse integration and window resize, but they do work installing the guest additions. It had problems with remote desktop (possibly too old, unsupported), bridged networking, and USB (for some reasons the configuration of an HP network printer required USB drivers and hardware).

All these things do work in the latest Oracle 4.1.12 (some once the extension pack got installed). It did even recognize the previously-created virtual machine. Only manual intervention was to enable usb ticking on appropriate tickbox. The only things which so far seem not to work (but are not important to me) are host-only networking, and “guestcontrol” remote execution, but these seems vbox only issues (or possibly require some further study of the manual).