Как подписать модули ядра с помощью sign-файла?

Я только что установил Ubuntu 16.04 с безопасной загрузкой и обнаружил ту же vmware-error , как описано там:

modprobe: ERROR: could not insert 'vmnet': Required key not available.

Один из способов обойти эту проблему - отключить безопасную загрузку, но я не хочу этого делать. Другой способ - подписать модули ядра самостоятельно , следуя этой очень подробной теме . Существует руководство по тому, как это сделать в RHEL и в fedora , но все эти решения основаны на каком-то сценарии, который я не могу найти:

sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)

Где я могу найти этот sign-file скрипт в Ubuntu?


Связанный: https://github.com/bergwolf/rhel6/blob/master/ Documentation / module-signature.txt и подписывают модуль после компиляции ядра .

4
задан 13 April 2017 в 15:37

2 ответа

На Ubuntu, которая была бы /usr/src/linux-headers-$(uname -r)/scripts/sign-file.

, Как я понимал это? Я сделал поиск sign-file:

dpkg -S sign-file

, который сказал мне, которого пакет обеспечивает этому файлу (в настоящее время linux-headers-4.4.0-22-generic) и где он был установлен, т.е. в /usr/src/linux-headers-4.4.0-22-generic/scripts/.

uname -r часть должна только сохранить команду независимой от установленного в настоящее время универсального заголовками пакета.

8
ответ дан 14 April 2017 в 01:37
  • 1
    @Panther I' m с Вами на консолидации, но это - что-то вроде странного случая. Обновление ОС повреждает people' s интернет-соединение и there' s достойный сегмент людей, кто вероятный won' t находят другой вопрос потому что они won' t разыскивают проблему к своему DNS. Мой ответ приспособлен к подъему тех людей и выполнению. Я нашел этот вопрос при попытке выяснить, насколько широко распространенный проблема, с которой я встретился, была. – Casey 23 October 2017 в 08:05

От сайта VMware причина Вашей проблемы вероятна что:

На Linux размещают с безопасным включенным режимом, не позволяется загрузить любые неподписанные драйверы. Из-за этого, драйверы VMware, такие как vmmon и vmnet, не могут быть загруженными, который предотвращает виртуальную машину для включений.

Для фиксации этого, не выключая безопасную начальную загрузку можно сделать следующее в терминале:

  1. Генерируют пару ключей с помощью openssl для подписания vmmon и vmnet модулей:

    ~ $ openssl req - новый-x509-newkey rsa:2048-keyout MOK.priv-outform DER - MOK.der - узлы - дни 36500 - тема "/CN=VMware /"

    (Заменяют MOK названием файла, который Вы хотите для ключа.)

  2. Знак модули с помощью сгенерированного ключа путем выполнения этих команд:

    ~ $ sudo/usr/src/linux-заголовки - uname -r/scripts/sign-file $ sha256./MOK.priv./MOK.der (modinfo-n vmmon)

    ~ $ sudo/usr/src/linux-заголовки - uname -r/scripts/sign-file $ sha256./MOK.priv./MOK.der (modinfo-n vmnet)

  3. Импорт открытый ключ к MOK системы перечисляют путем выполнения этой команды:

    ~ $ sudo mokutil - MOK.der

  4. импорта Подтверждают пароль для этого запроса приема MOK.

  5. Перезагружают Вашу машину. Следуйте инструкциям для завершения приема от консоли UEFI.

Процитированный эту статью VMWare: https://kb.vmware.com/kb/2146460

3
ответ дан 14 April 2017 в 01:37
  • 1
    Что происходит, если шаг 2 перестал работать?/etc/resolv.conf для меня является символьной ссылкой, указывая/run/resolvconf/resolv.conf, но у меня все еще нет соединения – user36196 23 October 2017 в 10:46

Другие вопросы по тегам:

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