menuconfig
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的更多相关文章
- make menuconfig出错,需要安装libncurses5-dev找不到文件的终极解决办法(不必更换源,适用于ubuntu 32位平台)
make menuconfig 错误,显示有curse 字样的文件没有装.用apt-get install 找不到,网上其他的办法说是源的问题,所以又更新了一下源,但是还是不好用,网速慢,更新太慢. ...
- Linux kernel4.4.12 添加make menuconfig 可选项
Linux kernel 源码添加可选项 闲来无事,顺便记录一篇在Linux kernel make menuconfig 内添加一个可选项. 说不定将来就要用到这个东西呢. linux kernel ...
- make menuconfig error 解决方法记录
新建的一个虚拟机,发现make menuconfig 后会出错,查了一下是缺少一些库. 这个错误已经错了两次了,我不希望第三次出现了还想不起来,所以特此记录. # 错误信息: make[2]: *** ...
- 配置文件的生成,关于“make menuconfig”
之前学习嵌入式的时候从来没有注意过内核源文件下配置文件的生成(都是跟着老师的步骤直接复制过来修改成.config),其实意思也差不多,只是我没有细想其所以然: 编译内核的过程中,配置文件生成过程,A. ...
- make menuconfig出错解决方法
make menuconfig出错解决方法 2011-06-11 22:22:49 分类: 系统运维 错误现象: make menuconfig In file included from scri ...
- Linux内核配置机制(make menuconfig 、Kconfig、Makefile)讲解【转】
本文转载自:http://www.codexiu.cn/linux/blog/34801/ 前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式—— ...
- Linux kernel的 Makefile和Kconfig以及Make menuconfig的关系【转】
本文转载自:http://blog.sina.com.cn/s/blog_4ba5b45e0102e6vp.html 熟悉内核的Makefile对开发设备驱动.理解内核代码结构都是非常重要的linux ...
- make menuconfig 是一个目录。停止 错误解决
在移植Linux内核时候,发现用 make menuconfig 发生如下错误 linux@ubuntu:/work/linux-socfpga$ make menuconfig make: *** ...
- Linux编译内核提示'make menuconfig' requires the ncurses libraries错误
原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10: 在编译内核的时候,提示如下错误: dingq@wd-u1110:~/hwsvn/2sw/1prj_ ...
- make menuconfig 出错
运行 #make menuconfig HOSTLD scripts/kconfig/mconf scripts/kconfig/mconf.o: In function `main': mconf. ...
随机推荐
- Js中Currying的应用
Js中Currying的应用 柯里化Currying是把接受多个参数的函数变换成接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术,是函数式编程应用. 描述 如果说函数式编程中有两 ...
- docker 启动redis/nginx
1.docker 启动redis # redis docker run -itd --name redis-test -p 16379:6379 redis 2.docker 启动nginx ...
- php闭包作为函数参数
<?php function test(Closure $call) { $a = 63; $b = 22; echo "hello"; echo $call($a,$b); ...
- 第十七章 DNS原理
一.DNS的相关介绍 1.主机名与IP地址映射需求 1)IP地址难于记忆 2)能否用便于记忆的名字来映射IP地址? 2.hosts文件 1)hosts文件记录了主机名和IP地址的对应信息 2)host ...
- java开发环境配置,看这一篇就足够了!
可能平时大家对于安装环境的需求不是那么强烈,但是当你换了一台新电脑时,你就会发现怎么也得花费你几个小时乃至半天一天的时间.故此整理此篇文章,给有需要的小伙伴 注:本文皆win10环境 (1).JDK的 ...
- hdu3555 Bomb (数位dp入门题)
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submi ...
- 有关hashMap跟hashTable的区别
HashMap和Hashtable都实现了Map接口 HashMap是非synchronized,而Hashtable是synchronized HashTable使用Enumeration,Hash ...
- dilated conv、deconv、fractional-strided conv
deconv的其中一个用途是做upsampling,即增大图像尺寸. dilated convolution: dilated conv,中文可以叫做空洞卷积或者扩张卷积. 首先是诞生背景,在图像分割 ...
- DTU是什么 常见的DTU有哪些
DTU也叫数据传输终端,它的主要功能是把远端设备的数据通过无线的方式传送回后台中心,想要完成数据的传输就需要建立一套完整的数据传输系统.DTU是一种现代物联网行业广泛使用的无线数据终端,利用公用运营商 ...
- python爬虫使用scrapy框架
scrapy框架提升篇 关注公众号"轻松学编程"了解更多 1.创建启动爬虫脚本 在项目目录下创建start.py文件: 添加代码: #以后只要运行start.py就可以启动爬虫 i ...