编译一个内核模块

问题描述

我正在尝试编译一个内核模块,我将正确的源代码下载到我的内核中,由于某种原因,它标识了已编译模块的不同版本:

apt-get source linux-image-unsigned-5.4.0-51-generic
cd linux-5.4.0/
cp /boot/config-5.4.0-51-generic ./.config
cp /usr/src/linux-headers-5.4.0-51-generic/Module.symvers .
make oldconfig
make scripts prepare modules_prepare
make -C . M=drivers/media/usb/em28xx/
sudo insmod drivers/media/usb/em28xx/em28xx.ko

错误

insmod:错误:无法插入模块 drivers / media / usb / em28xx / em28xx.ko:模块格式无效

dmesg

[1143.531202] em28xx:版本魔术“ 5.4.65 SMP mod_unload”应 是'5.4.0-51-通用SMP mod_unload'

我不知道5.4.65 SMP mod_unload来自哪里?我正在使用5.4.0-51-generic内核和5.4.0-51-generic源。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)