要从源代码构建 linux 内核,我通常会执行以下操作:
make mrproper
make menuconfig
make
在 menuconfig 步骤中,我启用了一些我想内置到内核中的模块,这些模块不是默认配置文件 (defconfig) 的一部分。
现在假设我事先知道我想在 menuconfig 中启用哪些模块,但想从脚本自动化构建过程(即非交互式)。我不想在发出 make 之前手动编辑 .config 文件,因为我可能无法正确解析要安装的模块的依赖项。
有没有办法用类似的东西替换 menuconfig 步骤
make updateconfig module_name
?
PS 我不想第一次做 menuconfig 然后将更新的 .config 保存为新的默认配置。
最佳答案
make menuconfig 是可以配置 Linux 内核源代码的五个类似工具之一,这是编译源代码所需的必要早期步骤。 make menuconfig 具有菜单驱动的用户界面,允许用户选择将要编译的 Linux 内核(和其他选项)的功能。
make menuconfig 是一个工具,它将加载在 Kconfig 中定义的所有属性并创建新的 .config 。首先,您必须将您的属性添加到 Kconfig,然后它将显示在 menuconfig 中。
Example :
I want to add new backlight driver in kernel.
1. open Kconfig 'drivers/video/backlight/Kconfig' and add below line---
config BACKLIGHT_LOCOMO
tristate "Sharp LOCOMO LCD/Backlight Driver"
depends on SHARP_LOCOMO
default y
help
If you have a Sharp Zaurus SL-5500 (Collie) or SL-5600 (Poodle) say y to
enable the LCD/backlight driver.
2. Add CONFIG_BACKLIGHT_LOCOMO to make file.
obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomolcd.o
现在运行 make mrproper 和 make menuconfig 。它会显示在菜单中。
否则,您可以手动添加到 .config ' CONFIG_BACKLIGHT_LOCOMO=y '。
关于Linux 内核 : update config from command line for specific modules,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37785710/