insmod: ERROR: could not insert module ionXXX.ko: Key was rejected by service 怎么解决

问题是这样的, 我在 insmod 一个驱动的时候报了下面这个错误

root@ubuntu:~/myworkspace# sudo insmod ion_test.ko 
insmod: ERROR: could not insert module ion_test.ko: Key was rejected by service

看起来是在安装驱动的时候被内核给拒绝了, 应该是我的内核开启了 模块签名验证机制, 而我的模块没有签名或者说签名无效, 因此被内核给拒了

通过查看 XXX/.config 文件就可以看到所有安装的模块都是必须要有签名的

CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_FORCE=y  # 强制所有模块必须签名

怎么解决?

网上有很多临时的方式, 比如用 mokutil. 因为我的开发板没法联网, 这个模块下载有一堆依赖, 我觉得太费时间. 索性就一步到位, 重新编译内核,关闭模块签名验证

首先需要配置 .config , 用下面命令进行可视化界面(手动改 .config 也行)

make menuconfig

image-20250716170457492

进入之后, 按空格取消掉 Module signature verification

image-20250716171416139

然后 save 保存下来即可

接着再需要编译内核

make

在把生成的deb配置到开发板上, 重启!!

重启后测试一下, 安装驱动就可以了

image-20250716171711276

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐