Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been trying for weeks now. I can't run my Windows XP virtual machine because of the error:

    Kernel driver not installed (rc=-1908)

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. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

I already installed the correct 3.4.0 headers and images. But when I run the setup command I get:

user@ChrUbuntu:~$ sudo /etc/init.d/vboxdrv setup --kernelsourcedir /d
 * Stopping VirtualBox kernel modules                                   [ OK ] 
 * Uninstalling old VirtualBox DKMS kernel modules                      [ OK ] 
 * Trying to register the VirtualBox kernel modules using DKMS                 Error! Your kernel headers for kernel 3.4.0 cannot be found.
Please install the linux-headers-3.4.0 package,
or use the --kernelsourcedir option to tell DKMS where it's located

 * Failed, trying without DKMS
 * Recompiling VirtualBox kernel modules                                       
 * Look at /var/log/vbox-install.log to find out what went wrong

I'm using Acer c7 Chromebook. Please help.

share|improve this question

So I haven't had a lot of luck making this work yet, but this is how I was able to get the appropriate kernel source from the git repository. It requires a little trial and error, but it seemed to work for me. I haven't been able yet to get the virtualbox drivers to compile properly yet upon installation, so I wouldn't mind a hand if someone gets this to work for them. NOTE: I had to intentionally break some of my reference links to post this because I don't have enough rep points yet; I put a space near the beginning of the link, so you may need to copy/paste and edit.

This is from text that I was preparing to update divx118's wiki page on this; it's not 100% ready, so it's a little raw, but should be clear enough. FOr me, when I tried this Tuesday night, HEAD~115 hit my current kernel version, but that may have changed by now, so tweak as necessary.

Add to the wiki page:

Next, we need to determine the version of the kernel we're currently running.

$ uname -r

Then clone the kernel branch chromeos-[version] to our home folder.

$ cd ~
$ git clone -b chromeos-[version]

For example, [version] may be 3.18 or some other value; see the value returned by uname above to determine this. Then we may need to download the correct revision of the kernel source from the git repository, if the downloaded source version doesn't match that of what we're currently running, by rolling back to a previous commit. First, determine the kernel version for the source we just downloaded:

$ cd kernel
$ ./chromeos/scripts/prepareconfig chromeos-intel-pineview
$ make oldconfig
$ make kernelrelease

If the version from the uname command above does not match what is displayed, and is indeed a later version, then one can do the following to download an earlier version:

$ git reset --hard origin/chromeos-3.18
$ git checkout HEAD~[number of commits prior to current version]
$ ./chromeos/scripts/prepareconfig chromeos-intel-pineview
$ make oldconfig
$ make kernelrelease

One may need to repeat the above steps a number of times, each time increasing the commit number in brackets, to get back to the appropriate version of the kernel source, and some trial and error may be needed to find your matching version. Once the correct version has been retrieved:

$ git reset --hard origin/chromeos-3.18

... to clean up after ourselves.

How to get rid of the -dirty tag when compiling kernel source:!msg/chromium-os-reviews/qg1i7ptQX80/AYdUWC7zGZsJ

Basically, edit base.config and change LOCALVERSION_AUTO to N.

share|improve this answer

With --kernelsourcedir /d you are pointing the script towards /d which doesn't exist. Omit the --kernelsourcedir altogether.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.