要从源代码构建linux内核,我通常会这样做:
make mrproper
make menuconfig
make
在menuconfig步骤中,我启用了一些我想在内核中构建的模块,这些模块不属于默认配置文件(defconfig) .
现在假设我事先知道我想在menuconfig中启用哪些模块,但是想要从脚本自动化构建过程(即非交互式) . 我不想在发出make之前手动编辑.config文件,因为我可能无法正确解析我要安装的模块的依赖项 .
有没有办法用类似的东西替换menuconfig步骤
make updateconfig module_name
?
PS我不想第一次做menuconfig,然后将更新的.config保存为新的默认配置 .
3 回答
make menuconfig 是可以配置Linux内核源的五个类似工具之一,这是编译源代码所需的必要早期步骤 . make menuconfig具有菜单驱动的用户界面,允许用户选择将要编译的Linux内核(以及其他选项)的功能 .
make menuconfig 是将加载 Kconfig 中定义的所有属性并创建新 .config 的工具 . 首先,您必须将属性添加到Kconfig,然后它将显示在menuconfig中 .
现在运行 make mrproper 和 make menuconfig . 它会在菜单中显示 .
否则,您可以手动添加到.config' CONFIG_BACKLIGHT_LOCOMO=y ' .
我正在寻找Adding an entry to the Linux Kernel .config file的答案
即你可以这样做:
make CONFIG_XILINX_FIXED_DEVTREE_ADDR = y
并且将编译指定的模块选项 . 据推测,这也会处理模块依赖性;我已经尝试了一个具有一些依赖性的模块,它似乎工作正常 .
树中有一个config脚本,允许调用者在shell中启用和禁用
.config
中的选项 . 但是它看起来不像任何依赖项解析,所以也许在使用它之后运行make olddefconfig
是有意义的,正如其他评论所提到的那样 .