如何将预构建的 Linux 内核驱动程序重新编译并作为自定义模块运行?

如何将预构建的 Linux 内核驱动程序重新编译并作为自定义模块运行?

我能够创建一个自定义基本模块(hello wrold 内核)并用于insmod将其加载到内核空间中。然而,我现在需要的是能够将slip.c整个代码(复制并粘贴)使用到我自己的模块中,并有效地编译和运行。这样,带有 slip 源代码的新模块就可以编译,并通过 成功插入到内核空间中insmod,但是,无法正常运行:运行时sudo slattach -p my_slip_replica -s 115200 /dev/ttyUSB0 -m &返回错误Hardware type my_slip_replica not supported. [1]+ Exit 1。默认情况下,Linux 内核已slip.ko编译目标文件/lib/modules/4.15.0-29-generic/kernel/drivers/net/slipmodprobe slip加载模块,并且确实可以毫无问题地运行。

所以我的问题是,我怎样才能复制 slip.c(加上 slip.h 和可能的更多文件)并成功运行

相关内容