Compilation 编译一个内核模块

Compilation 编译一个内核模块,compilation,kernel-module,Compilation,Kernel Module,我正在尝试编译一个内核模块,我将正确的源代码下载到我的内核,出于某种原因,它标识了编译模块的不同版本: 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 script

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

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:version magic“5.4.65 SMP模块卸载”应 be“5.4.0-51-通用SMP模块卸载”

我不明白
5.4.65 SMP mod_unload
从哪里来?我正在使用
5.4.0-51-generic
内核和
5.4.0-51-generic
源代码

谢谢。

请不要再问这个问题了。如果你问了一个问题并找到了其他信息,只需将这些信息合并到现有的问题中即可。