linux编写驱动,ko文件加载提示提示could not insert module hello.ko: Invalid module format

续上一篇成功编译出ko文件驱动编译失败,在sudo insmod xxx.ko文件时提示提示could not insert module hello.ko: Invalid module format。

也是波折了很多,检查了头文件类型是否兼容
 

uname -r
ls /usr/src/linux-headers-$(uname -r)

检查了gcc版本是否兼容

gcc --version
cat /proc/version

等等(中间吃了个饭忘记还检查了什么)

总而言之,最后检查到了模块签名(敲碗重点!)

grep CONFIG_MODULE_SIG /boot/config-$(uname -r)

如果输出:CONFIG_MODULE_SIG=y。说明你的内核强制要求签名。

这个时候有两种方案,一个是尝试暂时禁用模块签名验证:

sudo dmesg -n 1
sudo insmod yourkoname.ko

但素一般会失败。

那就修改文件吧。大功告成。✌!

#1.编辑/etc/default/grub
sudo nano /etc/default/grub


#2.找到GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash module.sig_enforce=0"

#3.更新 grub 并重启
sudo update-grub
sudo reboot

#4.重新尝试 insmod yourkoname.ko
sudo insmod xxx.ko

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值