linux内核加载驱动提示module verification failed: signature and/or required key missing - tainting kernel

本文介绍了从3.7内核版本开始引入的内核签名机制,导致加载ko模块时出现错误的原因。提供了两种解决方案:一是使用签名工具对ko模块进行签名,二是通过修改Makefile禁用内核签名。详细步骤包括使用sign-file命令和在Makefile中设置CONFIG_MODULE_SIG=n来禁用签名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 #insmod xx.ko

下面的报错

问题原因:

自 3.7 内核之后有了内核签名机制。

编译内核时 .config 中有跟内核签名相关的选项有如下:

CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_ALL=y

 1、有一种方法需要对ko进行签名

/usr/src/linux-4.9.61/scripts/sign-file sha512 /usr/src/linux-4.9.61/certs/signing_key.pem /usr/src/linux-4.9.61/certs/signing_key.x509 hello.ko

 如果自己创建过签名文件的可以参考我之前的博客

ubuntu16.04驱动安装提示sign-file: certs/signing_key.pem: No such file or directory_白色宇宙的博客-CSDN博客

 2、第二种方法禁用签名

再自己的Makefile中加

CONFIG_MODULE_SIG=n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值