linux menuconfig搜索,linux系统menuconfig解析
在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪;这里主要就make menuconfig的执行过程进行解析。
介绍
跟make menuconfig这个命令相关的文件,包括三类,包括.config,Kconfig,Makefile。为什么不说三个,而说三类呢?因为Kconfig和Makefile是配合使用的,在很多的子目录都存在,而.config只存在于根目录中。这三个文件的作用分别是:
Kconfig:定义了配置项
.config:对配置项进行赋值
Makefile:建立配置项的生成法则
三者的关系为:make menuconfig依赖于Kconfig进行系统可视化配置,Kconfig为可视化配置菜单;在可视化配置界面修改完相应配置之后,生成的配置项保存在.config文件里,即对不同的配置项定义的赋值;在系统中运行make的时候,Makefile会依赖于.config里的配置项的值对Makefile里相应的选项进行编译。
菜单选项
Kconfig里的菜单选项的添加通过menu和endmenu关键字来添加,主菜单名称通过mainmenu来命名;mainmenu "Linux Configuration"
menu "Power Management"
source pm/Kconfig
endmenu
如果有多级菜单的话,可以通过多级嵌套来实现,这里类似于if和fi关键字;如果当前menu下包含有其他路径下的Kconfig文件,则用source + 文件路径来调用该Kconfig文件;
变量配置
字符型变量,用关键字string;如果需要限制条件的话,通过if+限制条件来实现;config FRAMEWORK_DIR
string "FRAMEWORK directory"
default "../framework" if !WINDOWS_NATIVE
default "..\framework" if WINDOWS_NATIVE
bool和int型变量,分别通过关键字bool或者int来实现,对于bool类型变量,default值为n或者y,n表示no,y表示yes;config DEFAULT_SMALL
bool "Default to smallest size"
default n
多选一窗口,通过choice和endchoice关键字实现;使用choice关键字的时候,需要定义prompt 和default 两个变量的值,前者为提示标签,后者为该多选一变量默认的初始值;choice
prompt "Build Host Platform"
default HOST_LINUX
config HOST_LINUX
bool "Linux"
config HOST_OSX
bool "OSX"
config HOST_WINDOWS
bool "Windows"
config HOST_OTHER
bool "Other"
endchoice
如果有依赖条件的话,通过关键字depends on实现,并列条件通过&&实现;config BUILD_KERNEL
bool "TinyAra kernel build"
depends on ARCH_USE_MMU && ARCH_ADDRENV && EXPERIMENTAL
select LIB_SYSCALL
help窗口,如果该条选项需要help窗口,则通过---help---关键字实现;---help---
Identifies the directory that builds the
application to link with TinyAra. Default: ../apps This symbol must be assigned
to the path to the application build directory *relative* to
the TinyAra top build directory. If you had an application
directory and the TinyAra directory each in separate directory
trees like this:
linux menuconfig搜索,linux系统menuconfig解析相关推荐
- linux menuconfig搜索,Linux make menuconfig查找并快速跳转指定驱动选项
/********************************************************************** * Linux make menuconfig查找并快速 ...
- linux内核使用make编译出错,linux 内核编译错误 make menuconfig
linux 内核编译错误 make menuconfig [root@fedora /usr/src/kernels/2.6.21-1.3194.fc7-i686]#make menuconfig H ...
- linux软件包管理解析,linux学习笔记_09_软件包管理解析.doc
linux学习笔记_09_软件包管理解析 软件包管理 软件包分类 源码包(C语言编写的源代码) linux主要由C语言来写. 源码包可以用写字板打开 脚本安装包:源码包进行再开发的源码包(提供安装界面 ...
- YOCTO项目介绍:通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统
目录 YOCTO项目介绍 配置内核 build配套 Yocto ,是一个开源社区.它通过提供模版.工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (3 ...
- Linux操作系统内核启动参数详细解析[转]
Linux操作系统内核启动参数详细解析http://os.51cto.com/art/200902/110080.htmhttp://os.51cto.com 2009-02-17 16:07 佚名 ...
- Linux 3.3.5系统移植
Linux 3.3.5系统移植 1.将arch/arm/mach-s3c6410/下的,mach-smdk6410.c cp为mach-my6410.c; 2.打开arch/arm/mach-s3c6 ...
- Linux 3.3.5系统移植(refer)
Linux 3.3.5系统移植 1.将arch/arm/mach-s3c6410/下的,mach-smdk6410.c cp为mach-my6410.c; 2.打开arch/arm/mach-s3c6 ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- 小猿圈Linux学习-Linux种搜索的命令
做Linux工程师的每天都不能少的工作就是搜索文件,这是他们的日常活动,很繁琐很枯燥,所以我们就需要知道一些搜索的命令,这些命令更高效更快捷,今天小猿圈就给大家分享4个可以搜索的Linux命令.. 方 ...
最新文章
- FAT32转换NTFS格式的命令
- 如何把单精度二进制数转换成十进制数?
- C++学习之路 | PTA乙级—— 1004 成绩排名 (20分)(精简)
- c语言实现万年历程序带节日,【C】万年历
- Spring容器创建流程(8)初始化bean
- 杜立特尔分解法 MATLAB,chase追赶法算法
- Axure原型设计介绍
- python 字典类型 get 参数_python如何利用urllib解析url参数成字典
- sqlserver2005 安装及SQL 2005 SP3补丁安装详解
- c语言猜拳游戏教案,幼儿园中班游戏《猜拳游戏》的教案
- 论文封面摘要正文页码不同 WORD中怎么编辑页码不连续 设置目录和正文页码不同
- 酷派大观4 8970 刷android 4.4,极速达百兆! 移动4G版酷派大观4网络体验
- Linux网络设备驱动结构概述
- C语言学习日记(2)——写个Hello,World测试一下
- C#的process进程的处理
- 智能硬件产品系列 之 MTK6580方案篇(一)硬件选型
- RPA对银行业的重塑:3个大型国际银行RPA应用案例
- 【GitLens】VsCode插件,查看代码是谁写的
- 交通灯keil程序加2位数码管_带数码管显示的十字路口交通灯控制 C 程序
- php输出扶墙而立的三角形,扶墙而立的成长历程——涉县五中刘嘉巍
热门文章
- 机器学习线性回归Matlab实现(附数据集)
- 北航微信打卡自动提醒程序
- MySQL+c语言——长途汽车管理系统
- 数据库(DataBase)-什么是数据库
- 对于Lattice FPGA/CPLD XO2编程,“Flash erase, program, verify, secure”和“Flash erase, program, verify, secu
- 下载****Hash校验和不符失败
- 1310. 数三角形(组合数学)
- Flutter 抽屉效果
- A7799之STM32程序——STM32测试高精度ADC篇(二)
- ceph分布式存储安装及简单使用