无法在已签名的自定义内核上加载已签名的模块

无法在已签名的自定义内核上加载已签名的模块

我使用的是 Fedora 33。为了启动自定义内核,我必须生成 X.509 证书来对内核进行签名。这部分工作正常。

我还可以使用相同的证书签署自定义内核模块,并且可以在加载 Fedora 内核时加载该模块。

但是,当我使用与 Fedora 内核相同的配置编译 vanilla 主线内核并启动它时,我无法加载自定义模块,即使它是使用相同的内核签名的。

虽然.builtin_trusted_keys密钥环没有列出我的证书(Fedora 内核也是如此),但输出dmesg显示该证书已从 MOK 加载。

我是否遗漏了什么?

编辑:我可以成功使用certs/signing_key.x509来签名和加载模块,但不能成功使用 MOK 中的模块。

答案1

看起来 Fedora 包含这个下游补丁来使用平台密钥来验证模块签名:https://gitlab.com/cki-project/kernel-ark/-/commit/b697ff5e26974fee8fcd31a1e221e9dd41515efc

相关内容