Linux内核模块开发全解析
1. 模块签名相关
在加载传统方式编译的模块时,可能会遇到一些提示信息,例如加载 hello_printk.ko 模块时:
$ dmesg | tail -n3
[ 2911.727484] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[ 5397.637583] hello_printk: loading out-of-tree module taints kernel.
[ 5397.637613] hello_printk: module verification failed: signature and/or required key missing - tainting kernel
[ 5397.637804] Hello, world!
这些提示与模块签名有关,内核和模块的签名行为由一系列编译时的配置常量决定,如下所示:
$ grep CONFIG_MODULE_SIG /boot/config-`uname -r`
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SI
超级会员免费看
订阅专栏 解锁全文
937

被折叠的 条评论
为什么被折叠?



