Page 1 of 1

vbox stopped working after reboot, now unable to compile

Posted: 19. May 2008, 20:30
by mkruk
Hello,

just yesterday I installed virtualbox 1.6 on my debian sid box. It worked flawlessly but after I restarted, I wasnt able to start any vm. The error from the gui is

Code: Select all

VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).
very well, so I tried /etc/init.d/vboxdrv setup, like the message told me to.
So, this removed the module, but was unable to create the new one.
The build output in /var/log/vbox-install.log is to be found here:

http://open-im.org/mk/vbox-install.log

Since most of the errors are caused by gcc not being able to access some asm headers, I edited /usr/share/virtualbox/src/Makefile a little. This way, gcc found those asm headers, though there were still some errors I wasnt able to fix (multiple declarations of functions/typedefs).
So, anyway, the weird part is, that compiling worked fine when I installed vbox yesterday..

Here are some information that might be relevant to solving the problem:
Im using a custom kernel. Image, headers and source are *definitely* correctly installed, compiling nvidia drivers worked fine.

Contents of /usr/src (unrelevant parts removed)

Code: Select all

lrwxrwxrwx  1 root src        32 2008-05-19 14:42 linux -> linux-headers-2.6.25.1mk-ee0.2.1
drwxr-xr-x 20 root root     4096 2008-05-19 20:00 linux-headers-2.6.25.1mk-ee0.2.1
drwxr-xr-x 23 root root     4096 2008-05-19 15:55 linux-source-2.6.25.1mk-ee0.2.1
drwxrwsr-x  4 root src      4096 2008-04-06 21:24 modules
lrwxrwxrwx  1 root root       23 2008-05-19 20:04 vboxdrv-1.6.0 -> ../share/virtualbox/src
Contents of /lib/modules/2.6.25.1mk-ee0.1.2 (unrelated parts removed)

Code: Select all

lrwxrwxrwx 1 root root     14 2008-05-19 16:29 build -> /usr/src/linux
lrwxrwxrwx 1 root root     40 2008-05-19 16:28 source -> /usr/src/linux-source-2.6.25.1mk-ee0.2.1
So, I guess the symlinks are set correctly, but I still dont get whats the matter...

Help is greatly appreciated, since I was porting an application yesterday, which is now inaccessible :x

Thanks, mkruk

Posted: 20. May 2008, 12:19
by frank
There was a bug in 1.6.0. The script /etc/init.d/vboxdrv was not executed in every runlevel as it should. This bug is fixed in 1.6.2 (expected soon). For the time being edit the file /etc/init.d/vboxdrv (as root) and make sure to fix the following two lines:

Code: Select all

# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
Then execute the following commands as root:

Code: Select all

update-rc.d -f vboxdrv remove
update-rc.d vboxdrv defaults 20 20
Then reboot your host and try to start a VM.

Posted: 20. May 2008, 19:40
by mkruk
thanks Frank, this fixes the first part of the problem ;)
but now my vboxdrv kernel module is gone :P

I just tried dpkg --purge'ing the headers and reinstalling them, but I still get the same errors when compiling as mentioned in my first posting. any ideas?

Posted: 21. May 2008, 14:41
by frank
Hmm, did you try

Code: Select all

/etc/init.d/vboxdrv setup
This should recompile the vboxdrv kernel module for the current kernel.

Posted: 21. May 2008, 15:54
by mkruk
yes, I did that. the results are still the same as mentioned in the vbox-install.log in my first posting.

There must be some problem, passing the include directorys to gcc. Though the log says, that the header's includes are correctly passed:

Code: Select all

-I/usr/src/linux/include
I wonder whats the matter

Edit: I solved it. I realized, that the symlink /usr/src/linux/include/asm was broken :/

Thanks to Frank for helping me out ;)

Posted: 28. May 2008, 16:25
by unaware
Sorry if i'm too newbie for this forum.
I'm tryin so hard to understand what the commands are actually doing for the functionality of the program. :cry:

I came to this thread by suggestion of a reply i had on a similar thread.

Frank, I did edit the vboxdrv file to what you had listed should be in there.
After that i did proceed to execute the commands as root that you listed as well.

However, I don't understand exactly what this would do
Frank Mehnert wrote:Hmm, did you try

Code: Select all

/etc/init.d/vboxdrv setup
This should recompile the vboxdrv kernel module for the current kernel.
Whenever I enter that i get a reply:
* Usage: /etc/init.d/vboxdrv {start|stop|restart|status}

So, i enter "/etc/init.d/vboxdrv restart" (hoping that vbox will miraculously restart ) :?

No dice.

So i see the next reply and I'm like "YES", i'm almost there!!

Then comes the comment
mkruk wrote: Edit: I solved it. I realized, that the symlink /usr/src/linux/include/asm was broken :/

Thanks to Frank for helping me out ;)
Problem is, I have no clue how to fix the symlink described above.

Sry, i'm kinda new to linux but i find it so interesting.
If you could put it into lamens terms, I would appreciate it.

how to fix the symlink described above

Posted: 30. May 2008, 13:03
by Reteip
Yes I too was a bit disappointed that this wasn't explained.
HOWEVER, I reinstalled Vbox after also doing all of Frank's suggested steps and it seems to be back to normal again.
So try that as the final step.

Rational: reinstalling seems to reestablish the symlink mentioned.

Posted: 9. Jun 2008, 09:20
by frank
For Linux distributions which supports it you should consider installing the dkms package (at least Fedora, Ubuntu, Mandriva). For the host Linux kernel module (vboxdrv) as well as for the guest Linux kernel modules (vboxadd and vboxvfs). The dkms package will care about recompiling the kernel modules on kernel upgrade.

Posted: 10. Jun 2008, 07:16
by Vbusy
Frank Mehnert wrote:For Linux distributions which supports it you should consider installing the dkms package
After dkms is installed, does an ordinary home user need to do anything else, like issuing commands to control it, or does dkms just run by itself in the background without user intervention?

Posted: 30. Oct 2008, 11:44
by dedy_lfs
I got same problem when upgrade to VirtualBox-.0.4_38406_openSUSE11-1.x86_64.rpm
I use opensuse 11 x64.
the problem gone when I add package pam-devel,glibc-devel,linux-kernel-header, make, gcc and kernel source.

may be u can trace instalation using command shell like rpm -ivh virtualbox.rpm, see the result and see vbox-install.log