qemu2.6 под docker

скорее всего у вас в ядре включена опция подписывания модулей. Модули VirtualBox не подписываются автоматически, и каждый раз, когда я собираю новое ядро, я перестраиваю модули и подписываю их.

В этом случае введите в терминал следующее (если вы встроили конфигурацию ядра в proc):

zcat /proc/config.gz | grep CONFIG_MODULE_SIG

Если вы не встроили конфигурацию ядра, найдите свою конфигурацию ядра — она может быть в /usr/src/linux/.config или /etc/kernels/kernel-config-

Например, вы должны увидеть следующий или похожий вывод (YMMV ):

CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SIG_SHA224 is not set
# CONFIG_MODULE_SIG_SHA256 is not set
# CONFIG_MODULE_SIG_SHA384 is not set
CONFIG_MODULE_SIG_SHA512=y
CONFIG_MODULE_SIG_HASH="sha512"
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"

В зависимости от того, какая хэш-функция выбрана, вы должны использовать одну и ту же хеш-функцию для подписи ваших модулей. Существует утилита под названием sign-file.
В более ранних версиях этот sign-файл находился в /usr/src/linux/, как и в 4.5 ядер теперь находится в /usr/src/linux/scripts/ (снова YMMV).

Включение подписанных модулей и фактическая загрузка системы с подписанными модулями должны обычно означать, что у вас уже есть сгенерированный ключ и файл x509 (вы можете сгенерировать ключ подписи самостоятельно).

Выполнение следующей команды:

/usr/src/linux/scripts/sign-file sha512 /usr/src/linux/certs/signing_key.pem /usr/src/linux/certs/signing_key.x509 /lib /modules//misc/vboxdrv.ko

должен эффективно подписывать ваши модули и должен быть готов для modprobe.

Найдите файл x509 и ваш ключ подписи и замените пути в приведенной выше команде.

  • К вашему сведению, существует 4 модуля виртуальных боксов, которые необходимо подписать: vboxdrv, vboxnetflt, vboxnetadp и vboxpci.

Ссылка на официальную статью о подписании модуля Gentoo

1
08.06.2016, 16:32
0 ответов

Теги

Похожие вопросы