繁体   English   中英

Linux 内核:从命令行更新特定模块的配置

[英]Linux Kernel: update config from command line for specific modules

要从源代码构建 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 mrpropermake menuconfig 它会显示在菜单中。


否则,您可以手动添加到 .config ' CONFIG_BACKLIGHT_LOCOMO=y '。

我一直在寻找向 Linux Kernel .config 文件添加条目的答案

即你可以这样做:

使 CONFIG_XILINX_FIXED_DEVTREE_ADDR=y

并且指定的模块选项将被编译。大概这也会处理模块依赖项; 我已经在具有一些依赖项的模块上尝试过它,它似乎工作正常。

树中有一个配置脚本,允许调用者从 shell 启用和禁用.config选项。 不过,它看起来似乎没有任何依赖项解析,因此正如其他评论所提到的那样,在使用它之后运行make olddefconfig可能是有意义的。

树中还有merge_config.sh脚本,允许将额外的配置片段文件合并到您的配置中。 有关详细信息,请查看此答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM