Ubuntu 编辑并编译内核模块

Ubuntu 编辑并编译内核模块,ubuntu,compilation,kernel-module,Ubuntu,Compilation,Kernel Module,我正试图从内核源代码编辑一个模块,并为内核编译它:5.4.0-40-generic\44 Ubuntu 我就是这样做的: git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal git checkout -b temp Ubuntu-5.4.0-40.44 nano drivers/media/usb/siano/smsusb.c make oldconfig

我正试图从内核源代码编辑一个模块,并为内核编译它:
5.4.0-40-generic\44 Ubuntu

我就是这样做的:

    git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal
    git checkout -b temp Ubuntu-5.4.0-40.44
    nano drivers/media/usb/siano/smsusb.c
    make oldconfig
    make prepare
    make modules_prepare
    make SUBDIRS=scripts/mod
    make SUBDIRS=drivers/media/usb/siano modules
    cd drivers/media/usb/siano/
    insmod smsusb.ko
    
我得到了这个错误:

insmod:错误:无法插入模块 驱动程序/media/usb/siano/smsusb.ko:模块格式无效

我的问题是:

  • “无效模块格式”表明模块编译为不同版本尽管我签出了正确的版本,但问题是什么
  • 为什么我需要编译整个内核,这需要花费很多时间,有没有更好的方法只编译一个模块
  • 更新:

    我将.ko复制到/lib/modules/。。。 之后,我插入了与内核模块对应的设备,这导致dmesg中出现以下错误:

    版本“5.4.44+SMP mod_unload”应为“5.4.0-40-generic” SMP模块卸载'

    谢谢