При запуске Vagrant – VirtualBox сообщает об ошибке:
$ vagrant up VirtualBox is complaining that the kernel module is not loaded. Please run `VBoxManage --version` or open the VirtualBox GUI to see the error message which should contain instructions on how to fix this error.8
$ VBoxManage --version WARNING: The vboxdrv kernel module is not loaded. Either there is no module available for the current kernel (2.6.32-504.8.1.el6.i686) or it failed to load. Please recompile the kernel module and install it by sudo /etc/init.d/vboxdrv setup You will not be able to start VMs until this problem is fixed. 4.3.26r98988
А при попытке пересобрать модули:
# /etc/init.d/vboxdrv setup Stopping VirtualBox kernel modules [ OK ] Uninstalling old VirtualBox DKMS kernel modules [ OK ] Trying to register the VirtualBox kernel modules using DKMSError! echo Your kernel headers for kernel 2.6.32-504.8.1.el6.i686 cannot be found at /lib/modules/2.6.32-504.8.1.el6.i686/build or /lib/modules/2.6.32-504.8.1.el6.i686/source. [FAILED] (Failed, trying without DKMS) Recompiling VirtualBox kernel modules [FAILED] (Look at /var/log/vbox-install.log to find out what went wrong)
Хотя пакет kernel-headers
установлен.
Проблема заключается в том, что kernel-headers
устанавливается для последней верси ядра:
... Updating: kernel-headers i686 2.6.32-504.12.2.el6 updates 3.3 M ...
Если проверить каталог /lib/modules/2.6.32-504.8.1.el6.i686/build
, о котором говорится в ошибке, то видно, что он является ссылкой на каталог /usr/src/kernels/2.6.32-504.8.1.el6.i686
:
# ls -l /lib/modules/2.6.32-504.8.1.el6.i686/build lrwxrwxrwx. 1 root root 48 Mar 7 21:31 /lib/modules/2.6.32-504.8.1.el6.i686/build -> ../../../usr/src/kernels/2.6.32-504.8.1.el6.i686
В котором находятся заголовочные файлы для ядра 2.6.32-504.12.2.el6
:
# ls -l /usr/src/kernels/ total 4 drwxr-xr-x 22 root root 4096 Apr 3 19:33 2.6.32-504.12.2.el6.i686
Которые были установлены при установке kernel-headers
– но нет файлов для 2.6.32-504.8.1.el6.i686
.
А так как текущая установленная версия ядра – 8.1
, а не 12.2
:
# uname -r 2.6.32-504.8.1.el6.i686
То VirtualBox ищет файлы для него.
Решение – либо обновить систему и ядро:
# yum update ... Installed: kernel.i686 0:2.6.32-504.12.2.el6 ...
Перезагружаем систему:
# reboot
Либо установить kernel-headers
для текущей версии ядра:
# yum install kernel-headers-$(uname -r)