secure boot(安全启动)下为内核模块签名

时间:2023-03-09 22:30:08
secure boot(安全启动)下为内核模块签名

上一篇随笔中提到了如何在secure boot下安装Nvidia显卡驱动 >>上一篇随笔

如果不需要安装Nvidia显卡驱动,而且要生成密钥,可以参考>> 这篇文章

这里假设生成的密钥放在/usr/share/nvidia/下,分别是nvidia*.der(私钥),nvidia*.key(公钥)

这里以Virtualbox的内核模块为例。

Virtualbox安装完成后,执行

#/etc/init.d/vboxdrv setup

后会提示编译成功,但是无法加载模块。同样是由于模块没有签名导致。

执行后生成的编译模块会被放在

/lib/modules/$(uname -r)/misc/vbox*.ko (默认)中。

我们要做的就是用已有的密钥为为上述模块签名(上一篇随笔中介绍了如何将生成的密钥添加到内核的信任列表中)。

#perl /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /usr/share/nvidia/nvidia*.key /usr/share/nvidia/nvidia*.der vbox*.ko

签名后,重新加载模块即可。

#modprobe vboxdrv
#modprobe vboxnetadp
#modprobe vboxnetflt
#modprobe vboxpci