#7536 closed defect (fixed)
kernel driver not installed -> issue with DKMS and VirtualBox 5.0.x and earlier only, please see comment 32 before re-opening
Reported by: | matteo sisti sette | Owned by: | |
---|---|---|---|
Component: | host support | Version: | VirtualBox 3.2.8 |
Keywords: | vboxdrv, kernel module, recompile | Cc: | |
Guest type: | Windows | Host type: | Linux |
Description (last modified by )
Every once in a while (I suppose every time the kernel gets updated thruough ubuntu's automatic update manager), after I reboot my ubuntu host and try to open Virtual Box and start one of my virtual machines, I get the following error:
""" The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
'/etc/init.d/vboxdrv setup'
as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary. """
Then I run the abovementioned command and everything gets fixed, but it is ridiculous that I have to do so every time. Would you imagine if EVERY application I use required the same??
Needless to say, I HAVE dkms installed but this happens allthesame.
Attachments (1)
Change History (49)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
Ok, I see.
Then what does the second part of the error message mean?
"Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary"
If the dkms package does not recompile the kernel module when necessary, then that part should be suppressed.
By the way I never recompiled any nvidia drivers and never got any error message related to nvidia... but maybe an nvidia driver package update is included and hence automatically downloaded every time a new version of the kernel is?
comment:4 by , 14 years ago
It definitely works here (Ubuntu 64bit host, recently upgraded to Maverick) and DKMS should do this by design. Perhaps there is a problem with the way DKMS is set up on your system? Or perhaps DKMS is not being used on your system for some reason? Could you take a look in (and attach) the log file from the module build (/var/log/vbox-install.log)?
by , 14 years ago
Attachment: | vbox-install.log added |
---|
comment:6 by , 14 years ago
there are indeed a lot of error messages somewhat related to dkms, but I have no idea what exactly is wrong
comment:7 by , 14 years ago
My feeling here is that dkms has got slightly confused due to older versions of modules which got left on your system and that this is keeping it from working correctly. Perhaps you could file a bug for this with Ubuntu? The maintainer of the Ubuntu dkms package is also the upstream maintainer, so he should have a pretty good idea of whether this is working correctly or not. If you write the link to the Ubuntu bug on this bug tracker we will be able to follow the ticket too and possibly resolve this together.
comment:9 by , 14 years ago
I don't know. I'll have to wait untill a new version of the kernel gets released and the kernel gets automatically updated
comment:10 by , 14 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:11 by , 13 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
This is still an issue at least with VB 4.0.12
Here's the output when I run vboxdrv setup:
$ sudo /etc/init.d/vboxdrv setup sudo: /etc/sudoers.d/puredata is mode 0644, should be 0440 [sudo] password for teo: WARNING: All config files need .conf: /etc/modprobe.d/blacklist, it will be ignored in a future release. * Stopping VirtualBox kernel modules [ OK ] * Uninstalling old VirtualBox DKMS kernel modules Error! Could not locate dkms.conf file. File: does not exist. Error! Could not locate dkms.conf file. File: does not exist. Error! Could not locate dkms.conf file. File: does not exist. [ OK ] * Trying to register the VirtualBox kernel modules using DKMS [ OK ] * Starting VirtualBox kernel modules [ OK ]
comment:12 by , 13 years ago
Your DKMS config is somehow screwed up. What Linux distribution is that?
comment:13 by , 13 years ago
Hey for some reason I didn't get a notification for the reply...
This is Ubuntu 11.10
The kernel got updated again and I got the issue again. Here's the output from vboxdrv setup again:
$ sudo /etc/init.d/vboxdrv setup [sudo] password for teo: WARNING: All config files need .conf: /etc/modprobe.d/blacklist, it will be ignored in a future release. * Stopping VirtualBox kernel modules [ OK ] * Uninstalling old VirtualBox DKMS kernel modules Error! Could not locate dkms.conf file. File: does not exist. Error! Could not locate dkms.conf file. File: does not exist. Error! Could not locate dkms.conf file. File: does not exist. [ OK ] * Trying to register the VirtualBox kernel modules using DKMS [ OK ] * Starting VirtualBox kernel modules [ OK ]
comment:14 by , 13 years ago
Your problems are probably based on directories that old versions of virtualbox have left behind in the directory /var/lib/dkms/vboxhost. Delete all sub-directories of old virtualbox versions from this directory.
Also see:
https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/830915 http://8thstring.blogspot.com/2012/01/error-could-not-locate-dkmsconf-file.html
comment:15 by , 10 years ago
This problem has existed for years, and still does with Virtualbox 4.3.20 and the latest kernels (currently 3.13.0.40.47 in Ubuntu). At each kernel update, the infamous error message
Error! Could not locate dkms.conf file. File: does not exist.
appears, and the vbox kernel drivers (vboxhost, etc.) don't get rebuilt. After reboot, you have to run /etc/init.d/vboxhost setup
or dpkg-reconfigure virtualbox-4.3
to rebuild them, before you can run any virtual guests, as the OP reported.
The standard advice is to remove old directories in /var/lib/dkms/vboxhost, and try again. Or uninstall dkms, remove /var/lib/dkms, reinstall dkms, and try again, which amounts to the same thing. I've done that many times, and each time the problem has come back on the next kernel update. It just happened again with the versions I cited above.
I haven't tried to do any debugging of the vbox install scripts, but to me, the error
File: does not exist.
plainly shows that a parameter that's supposed to hold the name of the vbox dkms.conf file is unexpectedly empty, and so of course the file isn't found or processed.
If you can suggest some debugging steps, I'll be glad to perform them on the next kernel update.
Thanks for your attention to this old bug. It's only a nuisance bug, but it's been a nuisance for a long time.
comment:16 by , 10 years ago
Description: | modified (diff) |
---|
A bit of research shows that this happens with other dkms drivers too (not just the VirtualBox ones). If you have any experience with debugging shell scripts (running them using "sh -x <script name> <parameters...>" or "bash -x ..." is usually my approach) you could try debugging the /usr/bin/dkms script. The functionality we use is:
# /usr/bin/dkms remove -m $MODULE -v $VERSION --all # /usr/bin/dkms add -m $MODULE -v $VERSION # /usr/bin/dkms build -m $MODULE -v $VERSION # /usr/bin/dkms install -m $MODULE -v $VERSION --force
For reference, the error message you are seeing is the following lines of /usr/bin/dkms:
[[ -r $read_conf_file ]] || die 4 $"Could not locate dkms.conf file." \ $"File: $conf does not exist."
Noting that the wrong variable is used in the second line, which rather makes sure that you will not find out the file name.
comment:17 by , 10 years ago
Removed the last inappropriate comment. Actually comment 16 contains instructions how to fix the problem. DKMS works very well here, tested a couple of Linux distributions. If this is still not working for someone, please post the exact version of the Linux distribution you are using and the exact package name of the VirtualBox package you are using.
comment:18 by , 10 years ago
I don't know what was inappropriate in pointing out that this bug is still not fixed, which you confirm, given that you're telling me that I have to run a manual workaround which requires having "experience with debugging shell scripts" in order to get rid of a problem which was put in place by VirtualBox.
comment:19 by , 10 years ago
Your problems are probably based on directories that old versions of virtualbox have left behind in the directory /var/lib/dkms/vboxhost. Delete all sub-directories of old virtualbox versions from this directory.
I already did that.
comment:20 by , 10 years ago
I already said that DKMS works very well for us on various distributions and it works for many other users.
At the moment I don't see any evidence that this problem is caused by VirtualBox. As I said I think it's a local screwup, perhaps by some incorrect installed application, by an old version of DKMS or something else. The VirtualBox installer scripts are available, it's open source. If you want any progress with your problem, provide a reliable reproduction scenario and start with the information I asked for in my previous comment.
comment:21 by , 10 years ago
I already said that DKMS works very well for us on various distributions
Have you ever tried on a distribution that has been upgraded several times, and where you have upgraded VirtualBox several times? I have no doubt a fresh install works pretty well, but you cannot expect users to always wipe out their hard drive and reinstall everything from scratch every time they need to upgrade VB.
As I said I think it's a local screwup,
Yes of course it IS a local screwup, and somebody ages ago, I don't remember if here in this thread or in the forum, confirmed it was caused by some garbage left behind by previous versions OF VIRTUALBOX. Which either I was unable to clean up because I couldn't safely distinguish it from current stuff, or I did and didn't fix the issue. All I know is I tried to do what I was told to do by whomever triaged the issue, and either it was impossible to do or it didn't work, I don't remember which one. It's not my job to investigate the issue further, it's yours.
All I did was always install every new version of Virtual Box by following the official instructions, so if some version left behind a "local screwup" it's the responsibility of newer VirtualBox versions to clean it up.
This is just like the 3d-driver stuff on Windows: at some version you created a driver that had to be installed in such a way that was later impossible to remove on the guest Windows system. Then you released a new version where that was superseded by some more modern driver, but you didn't give a sh about providing upgrading users a way to fix their destroyed guest OS. (yes, there were instructions in the manual to deal with that, and they didn't work for everybody, and you refused to admit it).
Fixing bugs doesn't only mean making sure that the new version, freshly installed on a virgin system, works, it also means fixing the screwups that were caused by bugs of older versions when upgrading.
comment:22 by , 10 years ago
Now if you tell me a command that I can run and post the output, and then tell me what I can do to manually fix the "local screwup", I'll be happy to try that. Perhaps this time it will work. But this bug won't be fixed until every user experiencing this issue will see it disappear without having to do anything.
comment:23 by , 10 years ago
You are demanding for help without providing real facts. As long as we don't have a simple reproduction scenario there is nothing which can be fixed. What you say is essentially Some version of VirtualBox did something wrong, now fix it! will not work, sorry.
comment:24 by , 10 years ago
I provided some more data than that.
Anyway, as I said, just tell me what more data you need (e.g. the contents of some directory or the output of dkms --whatever) and I'll provide it
comment:25 by , 10 years ago
Let's start by providing the information I asked for several times, your current Linux distribution (exact version number) and the VirtualBox package you installed (exact file name) please.
comment:26 by , 9 years ago
I'm suffering from this issue too. Here's my info.
My Linux distribution:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
VirtualBox package:
4.3.30-101610~Ubuntu~raring
comment:27 by , 9 years ago
So am I.
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
virtualbox-4.3:
Installed: 4.3.30-101610~Ubuntu~raring
comment:28 by , 9 years ago
This got worse.
Usually it would only fail to recompile the kernel module automatically and I had to manually run sudo /etc/init.d/vboxdrv setup (which would fail in the DKMS part but would recompile the module).
Now it fails to compile.
My VBox is now broken and unusable. And I didn't even update it. I'm still using 4.3.14 which used to work and now it doesn't.
comment:29 by , 9 years ago
$ sudo /etc/init.d/vboxdrv setup Stopping VirtualBox kernel modules ...done. Uninstalling old VirtualBox DKMS kernel modules ...done. Removing old VirtualBox netflt kernel module ...done. Removing old VirtualBox kernel module ...done. Trying to register the VirtualBox kernel modules using DKMSERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-4.3.0.crash' Error! Bad return status for module build on kernel: 3.19.0-30-generic (x86_64) Consult /var/lib/dkms/vboxhost/4.3.14/build/make.log for more information.
...failed!
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules ...failed!
(Look at /var/log/vbox-install.log to find out what went wrong)
comment:30 by , 9 years ago
Hi,
My current system is Fedora (23) Linux, x86_64 architecture. I have been receiving similar messages like the above. I have seen this problem several times in the past few months... and again about 1 hour ago. Here's the VB version I've installed: VirtualBox-5.0-5.0.6_103037_fedora22-1.x86_64.rpm I went to /var/lib/dkms/vboxhost and removed the previous version of VB. 5.0.1 in this case.
I reran the "rcvboxdrv setup" command. It succeeded!
rcvboxdrv setup Stopping VirtualBox kernel modules [ OK ] Uninstalling old VirtualBox DKMS kernel modules [ OK ] Removing old VirtualBox pci kernel module [ OK ] Removing old VirtualBox netadp kernel module [ OK ] Removing old VirtualBox netflt kernel module [ OK ] Removing old VirtualBox kernel module [ OK ] Trying to register the VirtualBox kernel modules using DKMS[ OK ] Starting VirtualBox kernel modules [ OK ]
I hope this helps someone.
George...
comment:31 by , 9 years ago
I still have this problem on Ubuntu 15.04, x86_64, upon upgrading from VB 5.0.6 to 5.0.8.
comment:32 by , 9 years ago
Could anyone still having problems here try the following as root at the command line:
for i in vboxhost vboxdrv vboxnetflt vboxnetadp; do
rm -rf "/var/lib/dkms/${i}"*
done
and then try upgrading to or re-installing the latest version of VirtualBox in the series they are using? If you are already at the latest, please re-run
/etc/init.d/vboxdrv setup
or
/sbin/rcvboxdrv setup
depending on the version. If there are still problems, please provide any output and the contents of "/var/log/vbox-install.log".
Update: this ticket has been closed. Please do not re-open it unless you are using VirtualBox 5.0.x or older with DKMS and these instructions do not solve the problem for you.
comment:33 by , 9 years ago
Thanks Michael, looks like it's fixed for me. Did as you asked, then applied the kernel update to 3.19.0-31-generic.
Everything worked properly, no errors, and the modules were even loaded correctly at boot.
comment:34 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Summary: | kernel driver not installed → kernel driver not installed -> DKMS issue, please see comment 32 before re-opening |
Thanks for the update. I will close this ticket as a DKMS problem. Please anyone - using DKMS - try the instructions in comment:32 before re-opening the ticket. Please do not re-open this ticket if you are not using DKMS, or are using a version of VirtualBox more recent than 5.0.x
comment:35 by , 9 years ago
Summary: | kernel driver not installed -> DKMS issue, please see comment 32 before re-opening → kernel driver not installed -> issue with DKMS and VirtualBox 5.0.x and earlier only, please see comment 32 before re-opening |
---|
comment:36 by , 9 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
"Summary changed from kernel driver not installed -> DKMS issue, please see comment 32 before re-opening to kernel driver not installed -> issue with DKMS and VirtualBox 5.0.x and earlier only, please see comment 32 before re-opening"
I got the same issue on Linux Mint 17 with VirtualBox 5.X and the procedure of comment 32 did not help me at all.
Sincerely, MiXT4PE
comment:37 by , 9 years ago
If you could describe your problem in full (without referring to previous comments to save me having to pull old things back into memory) that would be great. Please check first though that your Mint installation does not already have Guest Additions pre-installed by Mint which might be causing problems.
comment:39 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:40 by , 9 years ago
Wait a moment, what? You close the issue by providing a MANUAL FIX that the users has to do by themselves? You don't even bother including a script into the installer that would take care of it automatically?
This reminds me of the screwup with GPU drivers in Guest Additions around version 3.something, which would break the Windows guest forever, with a driver which was then deprecated in a later version but was impossible to uninstall, and for which no fix was released except for a couple of pages of instructions in the manual which wouldn't even work in most cases.
I see after a few years, you still maintain your policy of fixing bugs without taking care of fixing the broken stuff left behind by previous buggy versions, based on the assumption that users just throw away their old version of VB at each upgrade, and their VMs with it, and clean-install the new version from scratch every time. Cool.
comment:41 by , 9 years ago
To my knowledge this is a problem in DKMS, not in VirtualBox. We have fixed the problem so to speak for the next version by dropping support for DKMS. We have to make choices about where to allocate developer time, and unfortunately this choice seems to be painful for you. If you take a look the number of open bug tickets on our tracker, assume that fixing the simplest of them will take at least half a day of developer time after you count testing, communication and so on you may see what I mean though. We can't offer to fix this for a fee, but if you can come up with, or get or pay someone else to come up with, a change which solves this for you and is high enough quality and well enough tested for us to integrate it with a minimum of fuss then we might well take it. To be honest, all I really know about the problem is that DKMS sometimes gets confused for as yet unknown reasons and causes problems with module rebuilding.
comment:42 by , 9 years ago
This seems to be a long ongoing issue! Just thought I would add my tuppeneth! Ubuntu: 14.04 LTS 64bit Kernel: 13.13.0-79-generic (i.e. probably older than the one you roll back to Michael) Ubuntu Virtual box (cheerful version with cows, turtles and penguins having a party!): 4.3.36_Ubuntu r105129 I followed comment #32 - several times Eventually using Synaptic to remove Virtualbox totally Then terminal sudo apt-get install virtualbox
This is the output - (notably a bunch of irrelevant packages (messy imho) and critically the module for running kernel is not found. I think this is because the "rm ..." instructions removed it.. nice! So a few minutes VM sandbox looks set to become several days worth of challenge, thanks truly appreciated! :-( Whose rrrs do I need to kick? Or can you point me to a guide to get me going again please?)
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: diffstat gettext intltool-debian libapt-pkg-perl libarchive-zip-perl libasan0:i386 libasprintf-dev libatomic1:i386 libautodie-perl libclass-accessor-perl libclone-perl libcloog-isl4:i386 libdpkg-perl libemail-valid-perl libfile-fcntllock-perl libgcc-4.8-dev:i386 libgettextpo-dev libgettextpo0 libgmp10:i386 libio-pty-perl libio-string-perl libipc-run-perl libipc-system-simple-perl libisl10:i386 liblist-moreutils-perl libmpc3:i386 libmpdec2 libmpfr4:i386 libnet-dns-perl libnet-domain-tld-perl libnet-ip-perl libparse-debianchangelog-perl libperlio-gzip-perl libsub-identify-perl libsub-name-perl libtext-levenshtein-perl linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic linux-headers-3.13.0-45 linux-headers-3.13.0-45-generic linux-headers-3.13.0-61 linux-headers-3.13.0-61-generic linux-headers-3.2.0-61 linux-image-3.13.0-45-generic linux-image-3.13.0-61-generic linux-image-extra-3.13.0-45-generic linux-image-extra-3.13.0-61-generic patchutils t1utils Use 'apt-get autoremove' to remove them. The following extra packages will be installed: virtualbox-qt Suggested packages: vde2 virtualbox-guest-additions-iso The following NEW packages will be installed virtualbox virtualbox-qt 0 to upgrade, 2 to newly install, 0 to remove and 0 not to upgrade. Need to get 0 B/18.1 MB of archives. After this operation, 79.2 MB of additional disk space will be used. Do you want to continue? [Y/n] y Selecting previously unselected package virtualbox. (Reading database ... 869797 files and directories currently installed.) Preparing to unpack .../virtualbox_4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1_amd64.deb ... Unpacking virtualbox (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ... Selecting previously unselected package virtualbox-qt. Preparing to unpack .../virtualbox-qt_4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1_amd64.deb ... Unpacking virtualbox-qt (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for ureadahead (0.100.0-16) ... Processing triggers for hicolor-icon-theme (0.13-1) ... Processing triggers for mime-support (3.54ubuntu1.1) ... Processing triggers for bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for desktop-file-utils (0.22-1ubuntu1) ... Processing triggers for gnome-menus (3.10.1-0ubuntu2) ... Processing triggers for shared-mime-info (1.2-0ubuntu3) ... Setting up virtualbox (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ... * Stopping VirtualBox kernel modules [ OK ] * Starting VirtualBox kernel modules * No suitable module for running kernel found [fail] invoke-rc.d: initscript virtualbox, action "restart" failed. Setting up virtualbox-qt (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...
comment:43 by , 9 years ago
JerryW, you are using the Ubuntu package, not the Oracle package. Please ask the Ubuntu folks for help!
comment:44 by , 9 years ago
I'll give your version a go, but interestingly the fault is the same, "run /etc/init.d/vboxdrv setup" which does nothing at all!
follow-up: 46 comment:45 by , 9 years ago
IIRC there is a small problem with the 5.0.14 package. Use /usr/lib/virtualbox/vboxdrv.sh setup instead of /etc/init.d/vboxdrv setup
comment:46 by , 9 years ago
Replying to frank:
IIRC there is a small problem with the 5.0.14 package. Use /usr/lib/virtualbox/vboxdrv.sh setup instead of /etc/init.d/vboxdrv setup
Worked for me "as is", download the deb, double click (opens in Ubuntu software centre), accept "trust" warning. Install. Search Virtualbox in Unity, click and run! perfect thanks!
comment:47 by , 8 years ago
Hi All, I've been hit by some flavor of the same problem this morning upgrading the kernel from 4.8.6-201 to 4.8.7-200 on Fedora 24.
At the moment of installation, I got the Error! Could not locate dkms.conf file. File: does not exist. error.
After restarting with the new kernel, just after selecting it in grub, I get [FAILED] Failed to start Load Kernel Modules. See systemctl status systemd-modules-load.service for details.. Boot completes apparently successfully, VirtualBox works (should it?). systemctl says nothing apparently interesting.
I believe I've done all of the cleaning that was suggested in the previous comments. None of the setup scripts listed in the comments exist in my installation though: /usr/lib/virtualbox/vboxdrv.sh or /etc/init.d/vboxdrv. I am using VirtualBox 5.1.8 installed from the Fedora packages.
Any advice?
comment:48 by , 8 years ago
giacecco, I do not think that your problem is related to VirtualBox. The "failed" message you get is from systemd, and VirtualBox 5.1 does not use dkms.
Unfortunately the problem is that Linux breaks backward compatibility on every upgrade. So point this problem to Linus Torvalds. I had a discussion with Creg-Hartman, one of Linus' Captains from Novell SUSE Linux on this topic but we are completely disagree with each other. This problem affects *all* the Linux distros.
And you have to do that only to EVERY application that had drivers/kernel modules (very few have). This obviously includes NVIDIA drivers as well.
-Technologov