В Ubuntu 18.04.3 я хочу подписать драйвер, который я собрал на той же машине Ubuntu, и загрузить его через modprobe. На этом компьютере включена функция SecureBoot.
После сборки драйвера для получения файла .ko я попытался подписать модуль следующим образом:
- Я создал ключ с помощью работает:
sudo update-secureboot-policy --new-key
как в " Как я могу сделать неавтоматическую подпись драйверов? " раздел здесь говорит делать. (Нет вывода / сообщение об ошибке)
Я попытался зарегистрировать ключ, выполнив:
sudo update-secureboot-policy --enroll-key**
, как предложено той же страницей . (В результате получается однострочный вывод, из которого я не знал, что делать: «Не установлены модули DKMS».)
Затем я попытался подписать модули ключами, выполнив:
sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der my_module.ko
, как сказано: здесь . (Нет вывода / сообщение об ошибке)
Но когда я пытаюсь установить модуль через modprobe:
sudo modprobe my_module.ko**
Я получаю сообщение об ошибке:
modprobe: ОШИБКА: не удалось вставить 'gve': операция не разрешена
Запись dmesg, которую я считаю релевантной, гласит:
Подпись PKCS # 7 не засекла с доверенным ключом
Я не уверен, означает ли это, что я не зарегистрировал ключи, которые я создал правильно, или какие другие проблемы могут быть.
Это вывод, который я получаю при выполнении следующих команд:
$ mokutil --test-key /var/lib/shim-signed/mok/MOLK.der
И вывод: /var/lib/shim-signed/mok/MOLK.der не зарегистрирован
$ sudo mokutil --import /var/lib/shim-signed/mok/MOLK.der
И вывод: SKIP: / var / lib /shim-signed/mok/MOLK.der уже находится в запросе на регистрацию
Хорошо, я думаю, что мое сообщение может быть дубликатом этого сообщения S / O, но я на самом деле ищу написать скрипт, который будет загружать, собирать, подписывать и устанавливать драйвер, но кажется, что перезагрузка является необходимой частью регистрации ключей, которые ch является необходимой частью подписи драйвера. Есть ли способ обойти это, что позволит мне автоматизировать все это в сценарии?