Я склонен запускать более новые ядра, чем большинство людей, частично для забавы, частично для тестирования ошибок, частично для мазохистского выполнения. Пару дней назад я установил 2.6.38-rc1
, и модуль VirtualBox DKMS больше не будет компилироваться.
Я не новичок в подбрасывании VirtualBox гаечных ключей в своих экспериментах с ядром, но есть ли способ заставить его скомпилироваться?
Новое Ядро перемещено linux/autoconf.h
в generated/autoconf.h
( подсказка ). Я на самом деле не знаю технических причин для этого, но все, что включает это в исходный код модуля VirtualBox, нуждается в редактировании.
К счастью, исправление - это всего лишь случай замены строк:
sudo find /usr/share/virtualbox/src/vboxhost -name '*.h' -exec perl -pi -w -e 's/linux\/autoconf/generated\/autoconf/g;' {} \;
sudo /etc/init.d/vboxdrv setup
Конечно, это изменение не может быть постоянным в ядре Linux. Все может вернуться назад, и это ухудшит вашу способность к компиляции в будущем, поэтому, если вам нужно сделать обратное в будущем, вот оно:
sudo find /usr/share/virtualbox/src/vboxhost -name '*.h' -exec perl -pi -w -e 's/generated\/autoconf/linux\/autoconf/g;' {} \;
sudo /etc/init.d/vboxdrv setup