在执行sudo insmod global_test.ko后,dmesg显示插入失败
[ 124.116841] global_test: loading out-of-tree module taints kernel.
[ 124.116883] global_test: module verification failed: signature and/or required key missing - tainting kernel
按照网上的说法,将设置CONFIG_MODULE_SIG设置为n。但是依然解决不了问题。也尝试了将内核路径中.config的CONFIG_MODULE_SIG设置为n。结果也是一样的
obj-m:=global_test.o #产生global_test模块的目标文件
CURRENT_PATH:=$(shell pwd) #模块所在的当前路径
LINUX_KERNEL:=$(shell uname -r) #linux内核代码的当前版本
LINUX_KERNEL_PATH:=/usr/src/linux-headers-$(LINUX_KERNEL)
CONFIG_MODULE_SIG=n
all:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean
insmod插入内核模块失败
-
- 帖子: 11
- 注册时间: 2018-12-29 14:13
- 系统: ubuntu
- astolia
- 论坛版主
- 帖子: 6493
- 注册时间: 2008-09-18 13:11
Re: insmod插入内核模块失败
模块验证失败不等同于模块加载失败。你用lsmod确认过加载失败了?不要想当然maple_169324 写了: ↑2019-11-04 21:54 在执行sudo insmod global_test.ko后,dmesg显示插入失败
[ 124.116841] global_test: loading out-of-tree module taints kernel.
[ 124.116883] global_test: module verification failed: signature and/or required key missing - tainting kernel
CONFIG_MODULE_SIG是在编译内核时设置的,不是给你在编译模块时设置,内核都编译好了再去修改.config更没有什么用处
ubuntu官方内核只是将CONFIG_MODULE_SIG设成了y,没有设置CONFIG_MODULE_SIG_FORCE,所以并没有强制要求模块签名,也不会拒绝没有签名的模块加载