Ubuntu 12.04上Virtualbox和3.5内核编译问题

Ubuntu 12.04上Virtualbox和3.5内核编译问题

我在 Ubuntu 12.04 下安装了 3.5 内核。安装 virtualbox 时出现以下错误。

Setting up virtualbox (4.1.12-dfsg-2ubuntu0.2) ...
 * 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.
Processing triggers for python-central ...
Setting up virtualbox-dkms (4.1.12-dfsg-2ubuntu0.2) ...
Loading new virtualbox-4.1.12 DKMS files...
First Installation: checking all kernels...
Building only for 3.5.0-18-generic
Building initial module for 3.5.0-18-generic
Error! Bad return status for module build on kernel: 3.5.0-18-generic (x86_64)
Consult /var/lib/dkms/virtualbox/4.1.12/build/make.log for more information.
 * 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.1.12-dfsg-2ubuntu0.2) ...

有人知道我该如何解决这个问题吗?

编辑-- 这是 make.log

DKMS make.log for virtualbox-4.1.12 for kernel 3.5.0-18-generic (x86_64)
Mon Nov 19 12:12:23 EST 2012
make: Entering directory `/usr/src/linux-headers-3.5.0-18-generic'
  LD      /var/lib/dkms/virtualbox/4.1.12/build/built-in.o
  LD      /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/built-in.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/linux/SUPDrv-linux.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/SUPDrv.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/SUPDrvSem.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/alloc-r0drv.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/initterm-r0drv.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/memobj-r0drv.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/mpnotification-r0drv.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/powernotification-r0drv.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
  CC [M]  /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
/var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjLinuxDoMmap’:
/var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1150:9: error: implicit declaration of function ‘do_mmap’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[1]: *** [/var/lib/dkms/virtualbox/4.1.12/build/vboxdrv] Error 2
make: *** [_module_/var/lib/dkms/virtualbox/4.1.12/build] Error 2
make: Leaving directory `/usr/src/linux-headers-3.5.0-18-generic'

答案1

这是一个已知的漏洞在 VirtualBox 中:添加内容无法与 3.5 内核编译。您需要将 VirtualBox 至少更新到 4.1.20 版本,此问题已解决。

VB 论坛中的一些人报告说在 4.1.18 VirtualBox 上成功运行了 4.1.20 附加功能,但在我看来,这是一个相当冒险且未经测试的想法。

答案2

尝试使用这个 repo:

sudo add-apt-repository ppa:debfx/virtualbox &&\
sudo apt-get update &&\
sudo apt-get install virtualbox

这为我解决了这个问题。

相关内容