SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Has anyone experienced the same problems?
To be honest I don't know if the kernel is the issue, but after I upgraded my kernel to 2.6.30, I'm not able to run
/etc/rc.d/rc.vboxdrv setup
I get this error:
Recompiling VirtualBox kernel module ...failed!
(Look at /var/log/vbox-install.log to find out what went wrong)
And the log says:
/etc/rc.d/rc.vboxdrv: line 275: /usr/lib/virtualbox/src/vboxdrv/build_in_tmp: No such file or directory
So out of the error I assume there are some source files missing. I can't figure out why, because it worked while I was using the old kernel 2.6.39.3.
I tried rebuilding the kernel package and upgrade it, but I still get the same error. I tried to modify the build script for the newest version of virtualbox, but I'm obviously not smart enough :P (It doesn't seem to have qt3 either, so I don't know if I will be able to compile it anyway without installing qt4, which I don't want).
It's not a kernel version problem. For me it works (VBox 2.2.4-47978) with the new 2.6.30
Are you sure that the directory /usr/lib/virtualbox/src/vboxdrv exists and it's not a permissions problem?
Well, it didn't exist. But I created the folders (I were missing both src and src/vboxdrv/) and also the build_in_tmp. When I ran rc.vboxdrv, I got permission denied, so I made the last file executable. Then I got the same error for another directory, /usr/lib/virtualbox/src/vboxnetflt/build_in_tmp. I did the same there, and I am perhaps a little closer.
When I run rc.vboxdrv now, I get this message:
Starting VirtualBox kernel module ...failed!
(No suitable module for running kernel found)
I tried, yet again, to recompile the virtualbox-kernel package from slackbuild (Some desperate attempt to get it working :P). But there were no difference.
If you are running 2.6.30 and rebuild the kernel-package by using the SlackBuild, I guess it should work fine (after installing/upgrading of course).
If you get an error, can you post it here?
The other issue with the non-existent paths I already know about. It's not really something serious though. The init-script just tries to do the same as I suggested above.
If you are sure the new module is installed, try to modprobe it manually and/or look at the dmesg output.
I guess I _could_ use a binary installer, but I'm more interested in fixing it. I feel I have more control when I use packages rather then binary installers. Oh well, I'm at work now, so I guess I'll have to look at it some other time.
If you are running 2.6.30 and rebuild the kernel-package by using the SlackBuild, I guess it should work fine (after installing/upgrading of course).
If you get an error, can you post it here?
The other issue with the non-existent paths I already know about. It's not really something serious though. The init-script just tries to do the same as I suggested above.
If you are sure the new module is installed, try to modprobe it manually and/or look at the dmesg output.
Well. I've tried that already and all errors I've got is posted above. I read trough /etc/rc.vboxdrv and the setup section. It looks to me that the scripts that were missing that I created are scripts to build new kernel modules.
Code:
BUILDVBOXDRV="$INSTALL_DIR/src/vboxdrv/build_in_tmp"
BUILDVBOXNETFLT="$INSTALL_DIR/src/vboxnetflt/build_in_tmp"
<SNIPP>
setup()
{
stop
if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then
begin_msg "Removing old VirtualBox netflt kernel module"
find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null
succ_msg
fi
if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then
begin_msg "Removing old VirtualBox kernel module"
find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null
succ_msg
fi
begin_msg "Recompiling VirtualBox kernel module"
if ! $BUILDVBOXDRV \
--save-module-symvers /tmp/vboxdrv-Module.symvers \
--no-print-directory install > $LOG 2>&1; then
failure "Look at $LOG to find out what went wrong"
fi
if ! $BUILDVBOXNETFLT \
--use-module-symvers /tmp/vboxdrv-Module.symvers \
--no-print-directory install >> $LOG 2>&1; then
failure "Look at $LOG to find out what went wrong"
fi
rm -f /etc/vbox/module_not_compiled
succ_msg
start
}
The full debug information I get when I run /etc/rc.d/rc.vboxdrv setup is:
Stopping VirtualBox kernel module ...done.
Recompiling VirtualBox kernel module ...done.
Starting VirtualBox kernel module ...failed!
(No suitable module for running kernel found)
Which suggest (to me at least) that the setup section is executed alright.
(How does Windows users manage without SSH? :P)
[EDIT]
So, if someone got a copy of
src/vboxdrv/build_in_tmp
and
src/vboxnetflt/build_in_tmp
I would love to have them, so I could test if that works.
I also have a problem with virtualbox and kernel 2.6.30, although not the same as yours.
This is the error I get when building the vboxnetflt module:
Code:
/tmp/vbox.1/linux/VBoxNetFlt-linux.c: In function 'vboxNetAdpNetDevInit':
/tmp/vbox.1/linux/VBoxNetFlt-linux.c:225: error: 'struct net_device' has no member named 'open'
/tmp/vbox.1/linux/VBoxNetFlt-linux.c:226: error: 'struct net_device' has no member named 'stop'
/tmp/vbox.1/linux/VBoxNetFlt-linux.c:227: error: 'struct net_device' has no member named 'hard_start_xmit'
/tmp/vbox.1/linux/VBoxNetFlt-linux.c:228: error: 'struct net_device' has no member named 'get_stats'
make[2]: *** [/tmp/vbox.1/linux/VBoxNetFlt-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.1] Error 2
make: *** [vboxnetflt] Error 2
I looked through google, but found no resolution. There is a post with someone having the same problem, but their steps to solve the issue were not successful for me.
The vboxdrv module builds fine, and I can start VM's as long as I turn off networking.
Find attached the 2 build_in_tmp files from the VirtualBox-2.2.4-47978-Linux_x86.run binary (just rename them accordingly).
Hope that they'll do.
@botnet
Check if you have set "CONFIG_COMPAT_NET_DEV_OPS" in your kernel configuration.
Quote:
CONFIG_COMPAT_NET_DEV_OPS
"This option enables kernel compatiability with older network devices that do not use net_device_ops interface." "This option enables kernel compatiability with older network devices that do not use net_device_ops interface."
It seems that "vboxnet0 (): not using net_device_ops yet" if I can understand well this post, translated from hungarian!!!
The full debug information I get when I run /etc/rc.d/rc.vboxdrv setup is
Well, that is exactly what I wanted you not to do. I see the reason for a kernel module setup being in the init-script as part of the binary package (it's convenient), but it's totally out of place in the ose-version. I see no reason a init-script should in any way handle kernel module compilation.
Use the virtualbox-kernel.SlackBuild from slackbuilds.org (http://slackbuilds.org/repository/12...ualbox-kernel/), and install the generated package. It should work afterwards. If something in this chain does not work, I am interested to see the errors, as that is the part I can fix more easily.
Well, that is exactly what I wanted you not to do. I see the reason for a kernel module setup being in the init-script as part of the binary package (it's convenient), but it's totally out of place in the ose-version. I see no reason a init-script should in any way handle kernel module compilation.
Use the virtualbox-kernel.SlackBuild from slackbuilds.org (http://slackbuilds.org/repository/12...ualbox-kernel/), and install the generated package. It should work afterwards. If something in this chain does not work, I am interested to see the errors, as that is the part I can fix more easily.
D'oh. I was about to say you weren't reading my post, as I've said i rebuild the package twice. Turns out I wasn't reading yours.
I agree that building a kernel module is not a job for the init-script. This whole thing is a little confusing, I must say. Why bother have the function if it isn't working. I've tried rebuilding the package several times now, and it never worked. For some reason I thought I had to run /etc/rc.d/rc.vboxdrv setup first to build a module, then rc.vboxdrv start. I don't know why, but running this setup deletes the kernel module produced by the slackbuild, then tries to build a new, it fails, and therefor it doesn't work to run 'start' after 'setup'. I wonder why they delete the old one, before it has succeeded in building a new one.
D'oh. I was about to say you weren't reading my post, as I've said i rebuild the package twice. Turns out I wasn't reading yours.
Such things can happen
Quote:
agree that building a kernel module is not a job for the init-script. This whole thing is a little confusing, I must say. Why bother have the function if it isn't working. I've tried rebuilding the package several times now, and it never worked. For some reason I thought I had to run /etc/rc.d/rc.vboxdrv setup first to build a module, then rc.vboxdrv start. I don't know why, but running this setup deletes the kernel module produced by the slackbuild, then tries to build a new, it fails, and therefor it doesn't work to run 'start' after 'setup'. I wonder why they delete the old one, before it has succeeded in building a new one.
"rc.vboxdrv setup" not working is partially my fault, because I didn't put the kernel module source in /usr/lib, but /usr/src. It should be as easy as fixing the path in the init-script. I still see no point in putting the kernel module source somewhere else then /usr/src though.
I will fix this with the next update of VirtualBox on SBo.
Heh, I didn't realize until now that you're actually the maintainer of the package :P
Well, it works now, and hopefully others will benefit from this as well. I never would have found this out by my self. Not in a long while at least. Probably I would have gone with with the binary after a few more days of searching and scratching my head. Thanks again
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.