I am running Debian 6, and decided to install 2.6.38 kernel from Unstable. I also installed the headers so that I can later on :

sudo apt-get install --target-release=unstable linux-image-2.6.38-2-686-bigmem linux-headers-2.6.38-2-686-bigmem

I then re-installed virtualbox-ose-dkms to that the VirtualBox drivers for 2.6.38 can be rebuilt (so that I can use VirtualBox under 2.6.38), but I get this error:

Building initial module for 2.6.38-2-686-bigmem

Error! Bad return status for module build on kernel: 2.6.38-2-686-bigmem (i686)
Consult the make.log in the build directory
/var/lib/dkms/virtualbox-ose/3.2.10/build/ for more information.
dpkg: error processing virtualbox-ose-dkms (--configure):
 subprocess installed post-installation script returned error exit status 10
configured to not write apport reports
                                      Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

Here's the contents of the file they asked me to look at:

$ cat /var/lib/dkms/virtualbox-ose/3.2.10/build/make.log 
DKMS make.log for virtualbox-ose-3.2.10 for kernel 2.6.38-2-686-bigmem (i686)
Sat Apr  9 14:11:57 SAST 2011
make: Entering directory `/usr/src/linux-headers-2.6.38-2-686-bigmem'
  LD      /var/lib/dkms/virtualbox-ose/3.2.10/build/built-in.o
  LD      /var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/built-in.o
  CC [M]  /var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.o
In file included from /var/lib/dkms/virtualbox-ose/3.2.10/build/include/VBox/types.h:30,
                 from /var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/../SUPDrvInternal.h:35,
                 from /var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:33:
/var/lib/dkms/virtualbox-ose/3.2.10/build/include/iprt/types.h:97:31: error: linux/autoconf.h: No such file or directory
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c: In function ‘VBoxDrvLinuxInit’:
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: ‘nmi_watchdog’ undeclared (first use in this function)
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: (Each undeclared identifier is reported only once
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: for each function it appears in.)
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:451: error: ‘NMI_IO_APIC’ undeclared (first use in this function)
/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.c:465: error: ‘nmi_active’ undeclared (first use in this function)
make[4]: *** [/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv/linux/SUPDrv-linux.o] Error 1
make[3]: *** [/var/lib/dkms/virtualbox-ose/3.2.10/build/vboxdrv] Error 2
make[2]: *** [_module_/var/lib/dkms/virtualbox-ose/3.2.10/build] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: Leaving directory `/usr/src/linux-headers-2.6.38-2-686-bigmem'
  • That missing linux/autoconf.h looks suspicious. Does /usr/src/linux-headers-2.6.38-2-686-bigmem/include/linux/autoconf.h exist? If it doesn't, your kernel headers are incomplete. If it does, there's a bug in a makefile somewhere that causes it not to look in the right directories. – Gilles Apr 9 '11 at 13:38
  • It's instead found in /usr/src/linux-headers-2.6.38-2-686-bigmem/include/generated/autoconf.h. This is in comparison to 2.6.32's /usr/src/linux-headers-2.6.32-5-686-bigmem/include/linux/autoconf.h. – Tshepang Apr 9 '11 at 14:08

autoconf.h moved from include/linux to include/generated in Linux 2.6.33. Authors of third-party modules must adapt their code; this has already been done upstream for VirtualBox. In the meantime, you can either patch the module source or create a symbolic link as a workaround.

As for the NMI-related errors, the NMI watchdog has changed a lot between 2.6.37 and 2.6.38. This looks like it requires a nontrivial porting effort on the module source code. In the meantime, you might have some luck just patching out the offending code. The purpose of the NMI watchdog is to debug kernel lockups, so it's something you can live without.


I had same issues with the kernel and in order to make things done I did, as root:

aptitude purge virtualbox-ose virtualbox-ose-dkms
dpkg --list |grep "^rc" | awk '{print $2}' | xargs sudo dpkg --purge
locate -e virtualbox 

I removed all related files excerpt my ~/.VirtualBox


- aptitude install virtualbox-ose virtualbox-ose-dkms

since, I have a running Virtualbox-ose 4.0.2 with a kernel

  • You may have missed the part where I'm using VBox 3.2.10. – Tshepang Apr 10 '11 at 9:38
  • Sorry, I've missed that.... I upgrade squeezy to whezzy due to this issue.. Only way I've found to solve the pb.... – user6450 Apr 10 '11 at 9:48
  • This answer helped, so am still a Squeeze user :) – Tshepang Apr 10 '11 at 10:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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