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-188.8.131.52-0.6-default (this one is bootable and I have now selected it as default for boot)
- vmlinuz-184.108.40.206-0.6-desktop (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-220.127.116.11-0.6/Module.symvers 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 !!