如何在没有完整内核源代码树的情况下构建内核模块?

问题描述 投票:0回答:2

我想构建一个没有内核源代码树的内核模块。 为此,我仅指定了内核头目录。

这个参考链接告诉我它应该是可行的:
构建没有源代码树的内核模块

但是其他一些参考链接告诉我应该使用完整的内核源代码树构建我的内核模块!

我的问题是:

  1. 我应该使用完整的内核源代码树构建内核模块链接吗?
  2. 在构建我的单个模块之前是否有必要在内核源代码树下进行完整构建?
linux linux-kernel kernel-module
2个回答
3
投票
  1. 不是没有必要。您需要一个包含函数和类型声明的头文件。您还可以使用 Makefile 和 Kconfig 但没有源代码来构建内核树。 kbuild - 内核构建系统需要这个内核树。

  2. 绝对不是。您可以构建单个模块,而无需构建整个内核,无论它是树外模块还是树内模块。


-1
投票

这两个问题都不是。您正在谈论树外(或“外部”)模块。

这里是构建外部模块的教程。

这是一个 Makefile 的简单示例。

obj-m += your-module.o
KDIR=/lib/modules/`uname -r`/build
default:
    $(MAKE) -C $(KDIR) M=$(PWD) modules
© www.soinside.com 2019 - 2024. All rights reserved.