linux kernel insmod模块出现的两个错误以及解决方案

版权声明:转载请说明,谢谢。 https://blog.csdn.net/wuming_422103632/article/details/81901927

编译了自己的驱动,但是insmod出现问题:
第一个问题:

[   12.722535] sciu2s: module verification failed: signature and/or required key missing - tainting kernel
[   12.722560] sciu2s: Unknown symbol usb_serial_deregister_drivers (err 0)
[   12.722566] sciu2s: Unknown symbol usb_serial_register_drivers (err 0)

是由于module签名导致的,有两种方式解决:

  • 在当前linux 系统的kernel源码下修改config文件,CONFIG_MODULE_SIG=n
  • 在驱动的Makefile文件里面添加这行CONFIG_MODULE_SIG=n
    我当时急于解决问题,想都没想就直接重新编译内核了。

解决第一个问题之后出现第二个问题:

disagrees about version of symbol module_layout

是由于编译源有问题,导致module version不匹配导致的,可以有如下几种方式修复:

  • 第一种去掉module version的检测,即CONFIG_MODVERSIONS=N
    这里写图片描述
  • 第二种重新关联module,清理干净重新编译。

上面文章记录下自己遇到的问题。log都是dmesg查看的。

猜你喜欢

转载自blog.csdn.net/wuming_422103632/article/details/81901927
今日推荐