21.12. 载入经过签名的内核模块
在系统密钥环(.builtin_trusted_keys)、MOK 列表和使用您私钥的签命内核模块中注册您的公钥后,您可以使用 modprobe 命令加载它们。
先决条件
- 您已生成了公钥和私钥对。详情请参阅生成公钥和私钥对。
- 您已经在系统密钥环中注册了公钥。详情请查看在 MOK 列表中添加公钥在目标系统中注册公钥。
- 您用私钥签名了一个内核模块。详情请查看使用私钥签名内核模块。
安装
kernel-modules-extra软件包,它会创建/lib/modules/$(uname -r)/extra/目录:dnf -y install kernel-modules-extra
# dnf -y install kernel-modules-extraCopy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
验证您的公钥是否在系统密钥环中:
keyctl list %:.platform
# keyctl list %:.platformCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将内核模块复制到您想要的内核的
extra/目录中:cp my_module.ko /lib/modules/$(uname -r)/extra/
# cp my_module.ko /lib/modules/$(uname -r)/extra/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新模块依赖项列表:
depmod -a
# depmod -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 载入内核模块:
modprobe -v my_module
# modprobe -v my_moduleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:要在引导时载入模块,将其添加到
/etc/modules-loaded.d/my_module.conf文件中:echo "my_module" > /etc/modules-load.d/my_module.conf
# echo "my_module" > /etc/modules-load.d/my_module.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证模块是否被成功载入:
lsmod | grep my_module
# lsmod | grep my_moduleCopy to Clipboard Copied! Toggle word wrap Toggle overflow