Linux 内核构建:以非交互方式执行“make localmodconfig”

web*_*org 4 linux build kernel-module linux-kernel embedded-linux

我想以非交互式方式运行“make localmodconfig”。在尝试的同时

是的 " " | 进行本地修改配置

给出了以下错误:

Console input/output is redirected. Run 'make oldconfig' to update configuration.

make[1]: *** [scripts/kconfig/Makefile:45: localmodconfig] Error 1
make: *** [Makefile:547: localmodconfig] Error 2
Run Code Online (Sandbox Code Playgroud)

我更喜欢 localmodconfig 而不是 olddefconfig 因为旧内核有 3000 多个模块并且只使用其中的 30 个。关于如何实现这一目标的任何想法?

Sam*_*nko 6

.config在您的内核源目录中有一些旧的,您可以执行以下操作:

$ make olddefconfig
$ make localmodconfig
Run Code Online (Sandbox Code Playgroud)
  • 第一个命令将使用旧的 .config,并将回答所有新选项的默认值,使其.config适用于您的新内核
  • 第二个命令将禁用当前未加载到您的机器上的所有模块,在 .config(使用lsmod输出)
  • 由于第一个命令已经.config对您的新内核有效,第二个命令不会询问您有关新选项的任何问题,因此您可以避免使用yes工具。