1. menuconfig 的存在意义

  原由是 项目的 config 项太多了,需要一个人性化的方式设置。

  menuconfig 背后是一个应用程序,用户和该应用程序交互,完成 config 设置。

2. menuconfig 本质是什么

  当在 kernel 目录执行 make menuconfig

[root@localhost kernel]# make menuconfig
scripts/kconfig/mconf arch/arm/Kconfig

  可知 make menuconfig 本质是 执行 scripts/kconfig/mconf 程序,其参数是 arch/arm/Kconfig

  scripts/kconfig/mconf 是基于 ncurses-devel 的应用, ncurses 是一个图像化库。

  首次执行 make menuconfig 时,进入 scripts/kconfig 进行对 mconf 的编译

3. mconf 及其配置文件

  大多数应用程序都有配置文件,mconf也不列外,

  输入配置文件为 Kconf

  输入输出配置文件 .config

  mconf 根据 Kconf 决定如何显示和交互规则,根据.config 载入已经被选择的设置。

  mconf save 会将配置回写如 .config

4. Kconfig 关键字

config XXX    # 表示一个CONFIG项,会对应 .config 中的 CONFIG_XXX

bool "xxxx"   # bool说明对应CONFIG项只有两种选项(加入内核或不加入),"xxx"是说明语句,GUI 中前面为 []

depend on xxx # 说明本CONFIG依赖于 xxx,因此设置本CONFIG的前提是设置xxx配置

default y/n # 本选项默认是开启或关闭

string  "xxx" # 对应CONFIG项为输入字符串, GUI中前面为 () 

select xxx  # 只要本CONFIG 被开启,则下面的select 也会被开启

tristate xxx # 本CONFIG有三个选择,加入内核/不开启/编译成模块,但连接入内核

menu xxx
endmenu # 这只是一个菜单,里面有很多CONFIG menuconfig # 自身是一个CONFIG,并且是菜单

menuconfig的更多相关文章

  1. make menuconfig出错,需要安装libncurses5-dev找不到文件的终极解决办法(不必更换源,适用于ubuntu 32位平台)

    make menuconfig 错误,显示有curse 字样的文件没有装.用apt-get install 找不到,网上其他的办法说是源的问题,所以又更新了一下源,但是还是不好用,网速慢,更新太慢. ...

  2. Linux kernel4.4.12 添加make menuconfig 可选项

    Linux kernel 源码添加可选项 闲来无事,顺便记录一篇在Linux kernel make menuconfig 内添加一个可选项. 说不定将来就要用到这个东西呢. linux kernel ...

  3. make menuconfig error 解决方法记录

    新建的一个虚拟机,发现make menuconfig 后会出错,查了一下是缺少一些库. 这个错误已经错了两次了,我不希望第三次出现了还想不起来,所以特此记录. # 错误信息: make[2]: *** ...

  4. 配置文件的生成,关于“make menuconfig”

    之前学习嵌入式的时候从来没有注意过内核源文件下配置文件的生成(都是跟着老师的步骤直接复制过来修改成.config),其实意思也差不多,只是我没有细想其所以然: 编译内核的过程中,配置文件生成过程,A. ...

  5. make menuconfig出错解决方法

     make menuconfig出错解决方法 2011-06-11 22:22:49 分类: 系统运维 错误现象: make menuconfig In file included from scri ...

  6. Linux内核配置机制(make menuconfig 、Kconfig、Makefile)讲解【转】

    本文转载自:http://www.codexiu.cn/linux/blog/34801/ 前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式—— ...

  7. Linux kernel的 Makefile和Kconfig以及Make menuconfig的关系【转】

    本文转载自:http://blog.sina.com.cn/s/blog_4ba5b45e0102e6vp.html 熟悉内核的Makefile对开发设备驱动.理解内核代码结构都是非常重要的linux ...

  8. make menuconfig 是一个目录。停止 错误解决

    在移植Linux内核时候,发现用 make menuconfig  发生如下错误 linux@ubuntu:/work/linux-socfpga$ make menuconfig make: *** ...

  9. Linux编译内核提示'make menuconfig' requires the ncurses libraries错误

    原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10: 在编译内核的时候,提示如下错误: dingq@wd-u1110:~/hwsvn/2sw/1prj_ ...

  10. make menuconfig 出错

    运行 #make menuconfig HOSTLD scripts/kconfig/mconf scripts/kconfig/mconf.o: In function `main': mconf. ...

随机推荐

  1. vs code 编译python 输出到调试控制台

    如图所示,在debug菜单中点击齿轮按钮,进入launch.json,更改console选项的值(有三种) "console": "internalConsole&quo ...

  2. day10 Pyhton学习

    一.昨日内容回顾 函数: 定义:对功能或者动作的封装 def 函数名(形参): 函数体 函数名(实参) return:  返回,当程序运行到return的时候,终止函数的执行 一个函数一定拥有返回值 ...

  3. 习题3-5 谜题(Puzzle, ACM/ICPC World Finals 1993, UVa227)

    #include<stdio.h> #include<string.h> char s[5][5]; int main() { while(gets(s[0])) { int ...

  4. centos8使用hostnamectl管理主机名称

    一,查看hostnamectl所属的包: [root@yjweb ~]# whereis hostnamectl hostnamectl: /usr/bin/hostnamectl /usr/shar ...

  5. centos8平台使用ip命令代替ifconfig管理网络

    一,为什么建议使用ip命令代替ifconfig? 1,ifconfig所属的net-tools包已经不再被维护了 虽然可以用,但会发生看不到部分ip等情况, [root@centos8 liuhong ...

  6. mac保存远程链接

    安装sshpass,前提是已经安装好iterm2 下载地址:http://sourceforge.net/projects/sshpass/files/ 百度网盘:https://pan.baidu. ...

  7. React.Component 和 React.PureComponent 、React.memo 的区别

    一 结论 React.Component 是没有做任何渲染优化的,但凡调用this.setState 就会执行render的刷新操作. React.PureComponent 是继承自Componen ...

  8. kubernetes教程第一章-kubeadm高可用安装k8s集群

    目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...

  9. Spring之IOC/DI(反转控制/依赖注入)_入门Demo

    在平时的java应用开发中,我们要实现某一个功能或者说是完成某个业务逻辑时至少需要两个或以上的对象来协作完成,在没有使用Spring的时候,每个对象在需要使用他的合作对象时,自己均要使用像new ob ...

  10. AppWidget使用方法

    手机桌面小组件 public class AppWidget extends AppWidgetProvider { @Override public void onUpdate(Context co ...