0

在 x86_64 主机上,我为树外的 ARM 目标交叉编译了 Linux 内核。所以我有两个目录:

  1. ~/kernel_git_repo/ - 仅包含内核源代码
  2. ~/kernel_buld_dir/ - 包含 .config 文件和构建的内核对象

在第三个目录中

  1. ~/external_module - 外部内核模块的来源

我有一个带有 Makefile 的外部模块的源代码。

树内构建内核的“通常”命令是:

make -C <path-to-compiled-src-code> M=$(PWD) modules

对于我的树外构建的内核, ~/kernel_git_repo/ 和 ~/kernel_buld_dir/ 都不能作为<path-to-compiled-src-code>. 似乎 make 命令需要带有Kbuild基础设施的内核源代码库.config带有文件和对象的构建目录。

在这种情况下,在 ~/external_module/Makefile 中用于构建模块的 make 命令是什么?

4

1 回答 1

0

没错,本质是一样的

$(MAKE) -C  $(KDIR) SUBDIRS=$(shell pwd) modules

除了

KDIR=/path/to/kernel/source
于 2021-05-28T23:23:03.167 回答