Linux 内核构建:执行 "make localmodconfig" 非交互方式

Linux kernel build : Perform "make localmodconfig" non-interactive way

我想以非交互方式 运行 'make localmodconfig'。尝试时

yes " " | 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

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

在你的内核源目录中有一些旧的.config,你可以这样做:

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