编辑和编译内核模块

时间:2020-10-18 02:35:45

标签: 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
    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:错误:无法插入模块 drivers / media / usb / siano / smsusb.ko:无效的模块格式

我的问题是:

  1. “无效的模块格式”建议该模块已编译为其他版本,尽管我签出了正确的版本,这是什么问题?
  2. 为什么我需要编译整个内核,这会花费很多时间,是否有更好的方法来仅编译一个模块?

更新

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

version magic'5.4.44+ SMP mod_unload'应该是'5.4.0-40-generic SMP mod_unload'

谢谢。

0 个答案:

没有答案
相关问题