我们都知道,嵌入式开发中,或者说C语言中,配置基本都是通过宏定义来决定的,在MCU开发中,代码量比较小,配置项也比较少,我们直接修改对应的宏定义即可。
但是,Linux开发中,操作系统、驱动部分还有应用部分加起来,代码量极大,配置项目也非常多,这时候,就需要对这些配置项进行统一管理。
配置管理工具menuconfig
主要参考如下文章:
Linux下menuconfig与Kconfig基础知识概要_linux menuconfig-CSDN博客
menuconfig是Linux平台用于管理代码工程、模块及功能的实用工具。
该工具通过读取Linux下的配置文件信息,并以图形化的方式展示出来,然后可供我们进行设置。示例界面如下:
这上面的选项都是我们在配置文件里编辑好的,该工具只是读取并显示出来。
怎么调出该工具呢?
通常是在编译系统之前在系统源代码根目录下执行 make menuconfig 命令从而打开一个图形化配置界面,再通过对各项的值按需配置从而达到影响系统编译结果的目的。
注意,这里就是在编译的指令make后面再加个menuconfig,但是,实际工作中,有些企业会将make等一系列指令封装成shell脚本,然后.sh执行脚本来实现编译。这种情况下,我们就是在编译指令后面加个menuconfig即可,也就是说,不一定就是直接使用make menuconfig,假设编译指令是xxx,那么调出menuconfig的指令方式就是xxx menuconfig
并且,执行该指令,并不会进行编译,只是会读取配置并显示出来。
脚本执行后,其实这里都会展开对应的命令行显示
假如我们打开了一个menuconfig配置界面
界面最上方是一些操作提示,中间主要内容就是读取出来的配置项。
像上面的那种:
✔如果是后面有--->的,表示是个目录,敲回车后就会继续进入下级目录;
✔前面有[ ]的,是表示当前配置是选中还是不选中,可以按空格键来切换,如果选中,就会有个星号[*];
✔如果前面是个(),一般就表示是要输入设定值,我们按回车然后就会弹出参数输入界面;
另外,还有些基本操作,比如:
✔连按两次Esc就会回退一次;
✔按?就会弹出对应配置项的一些信息比如所在路径等;
搜索关键词
在menuconfig选项界面按下快捷键“/”,就能弹出搜索框,搜索需要的关键词即可。
注意,虽然menuconfig界面显示的是提示语,但是搜索时需要输入的是配置项,而不是提示语,否则搜不到,因为配置项是唯一的,而提示语是不唯一的。
搜索关键词有多个选项,就会用序号显示出来,然后按对应的数字就会进入对应的设置
注意,按数字时,对应选项需要出现在界面上,看不到的按数字没法跳转。
依赖选项
有时候,如果打开没有该选项,则可能是因为依赖不满足,需要先打开依赖,依赖一般是要求被打开,后面的括号里是表示依赖的当前状态。
直接保存到.config
双击Esc是后退一步,如果操作了很多步骤,退出到保存就比较麻烦。
如果直接保存?
按左右键切换到save