Я следую приведенным здесь шагам , чтобы сгенерировать ключи, чтобы подписать копию ядра, которое я скомпилировал сам. Однако в середине процесса, когда я пытаюсь проверить, что «главный сертификат подписан его закрытым ключом», запустив
$ openssl verify ./master-public.pem
, он завершится неудачно со следующим выводом:
C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority
error 18 at 0 depth lookup: self signed certificate
error ./master-public.pem: verification failed
Ожидаемый результат в соответствии с документацией:
./master-public.pem: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority
error 18 at 0 depth lookup:self signed certificate
OK
Как, вероятно, очевидно, я не являюсь экспертом в махинациях, связанных с безопасной загрузкой, и потратил довольно много времени, пытаясь выяснить, что не так без всяких указаний. Упомянутая выше веб-страница также не оказывает никакой помощи.
Может кто-нибудь сказать мне, почему эта ошибка может происходить, и как ее исправить? Являются ли инструкции на вики Ubunutu устаревшими? Если да, есть ли в наличии современные инструкции? Все, что я хочу сделать, это скомпилировать и запустить копию ядра staging
с включенной Secure Boot.
Шаги, приведенные здесь , на самом деле работали.
Я закончил тем, что
make bindep-pkg
из vanilla TGZ с https://kernel.orgИтак Подписание не требуется: UEFI загружает официально подписанное ядро Ubuntu, затем мое пользовательское ядро загружается из пользовательского пространства Linux как задача cron @reboot
.