Я недавно подписал модуль ядра для решения проблемы с VMware, следующим инструкциям, описанным в этом вопросе и этом.
После установки некоторых обновлений - повторно появилась проблема. Я предполагаю, что было обновление ядра - и модули со знаком или удаляются - или подписание, стал недействительным так или иначе.
Я предполагаю, что общественность / пара с закрытым ключом, которую я создал, все еще допустима (они просто используются для подписания вещей?) Итак, почему модуль то, что я подписался больше не действительный? Или это просто больше не устанавливается?
Я пытался просто повторно выполнить mokutil - но мне говорят, что он уже зарегистрирован:
mokutil --import MOK.der SKIP: MOK.der is already enrolled
Однако выполняя VM в VMware (рабочая станция про v12)
Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded.
Таким образом - вопрос - что продолжается здесь - и какие шаги подписания модуля и приема должны быть повторены после обновления ядра?
Также - там что-либо, что я могу, чтобы избежать необходимости делать это снова в будущем (т.е. - каждый раз, когда я затем устанавливаю обновления),
Правовая оговорка - у меня есть только туманное понимание деталей, я главным образом просто следовал инструкциям.
Модули компилируются для соответствия конкретному ядру. Таким образом, если ядро было обновлено, то модуль был перекомпилирован или должен быть перекомпилирован, а новый модуль требует подписи.
Ваши ключи все еще действительны и могут быть использованы повторно.
Единственное, что вам нужно сделать, это скомпилировать модуль и подписать его. Ваши ключи все еще находятся в MOK
, команда подписи зависит от того, как вы ее подписываете (есть несколько методов)
Но ваш -
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
Я обнаружил, что приведенный выше ответ все еще актуален в сентябре 2020 года. Обновление ядра хоста Ubuntu 18.04 привело к тому, что VMware Workstation 15 не смогла запустить ранее работавшую виртуальную машину. Я повторно выполнил команды для vmmon и vmnet, и теперь моя виртуальная машина снова может работать нормально.
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
Эта статья базы знаний VMware также изначально помогла мне при подписании модулей: