红联Linux门户
Linux帮助

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

发布时间:2016-04-28 10:00:32来源:linux网站作者:牛逼闪闪

上一篇随笔中提到了如何在secure boot下安装Nvidia显卡驱动:http://www.linuxdiyf.com/linux/20154.html

如果不需要安装Nvidia显卡驱动,而且要生成密钥,可以参考:http://docs.fedoraproject.org/ja-JP/Fedora/21/html/System_Administrators_Guide/sect-signing-kernel-modules-for-secure-boot.html

这里假设生成的密钥放在/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


本文永久更新地址:http://www.linuxdiyf.com/linux/20155.html