Error:

After compiling the 2.6.32 kernel, I was unable to load virtualbox modules as it complained of nmi_watchdog being active. Even after passing the “nmi_watchdog=0” in kernel parameters, the problem was active. recently I came accross this bug http://www.virtualbox.org/ticket/4529

Cause:

Apparently they renamed CONFIG_PERF_COUNTERS to CONFIG_PERF_EVENTS in 2.6.32. Hence vbox couldn’t detect it.

The changes will be applied and fixed in a future release. However, if you are getting this error and would like to fix it, you can use these patches.

Fix:

http://www.virtualbox.org/changeset/25365

http://www.virtualbox.org/changeset/25366

You have to patch the file /usr/src/vboxdrv/linux/SUPDrv-linux.c

However, this file didn’t exist in that specified location for me. So I guess it depends on your distro. Best would be to use:


sudo updatedb
locate SUPDrv-linux.c

And find out the exact location, for me in Slackware64 ~ 13.0 it was this file: /opt/VirtualBox/src/vboxdrv/linux/SUPDrv-linux.c

Instead of manually making the changes you can simply download the raw text file and replace the older one with this one: http://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c

Hope this helps someone.

EDIT: Alternate Fix:

As Bruce Hill [a fellow LQ member] told me that he wasn’t getting these errors I was confused,then when I posted about this CONFIG_PERF_EVENTS change, he said he had the option built in as a compatibility placeholder. Both the options are present and you can enable them and re-compile your kenel. This way even if an app uses a deprecated name, you won’t get affected. Lesson learnt. Thanks again Bruce.

Regards