linux menuconfig搜索,linux系统menuconfig解析

linux menuconfig搜索,linux系统menuconfig解析在对linux进行编译,常用的命令是makemenuconfig,使用图形界面来对整个系统进行裁剪;这里主要就makemenuconfig的执行过程进行解析。介绍跟makemenuconfig这个命令相关的文件,包括三类,包括.config,Kconfig,Makefile。为什么不说三个,而说三类呢?因为Kconfig和Makefile是配合使用的,在很多的子目录都存在,而.config只…

大家好,又见面了,我是你们的朋友全栈君。

在对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:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138735.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java液晶数字字体显示当前时间[通俗易懂]

    Java液晶数字字体显示当前时间[通俗易懂]Java液晶数字字体显示当前时间importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Map;/****@authorzdy…

    2025年6月30日
    1
  • CentOS 7 修改IP地址问题及解决方案

    CentOS7修改IP地址问题及解决方案问题:在搭建ambari时虚拟机地址忽然改变导致ambari无法启动在网上搜索相关帖子大多是要求使用vim/etc/sysconfig/network-scripts/ifcfg-eth0重新配置,但是CentOS7中没有这个文件有且仅有ifcfg-ens33和ifcfg-lo(也有人的是32结尾具体可能是小版本的问题?)于是自己进行摸索并成功实现修改IP地址解决方式执行命令到当前目录下并查看目录下的文件cd/etc/sysc

    2022年4月7日
    45
  • db2有没有rownum_row_number() over order by

    db2有没有rownum_row_number() over order byrank和rownumber都是自动生成序号,后面都可以跟partitionby分组和orderby排序。不同之处在于,rownumber在orderby后面的字段,排序字段数值相等时,rownumber字段依次递增。   rank在orderby后面的字段,排序字段数值相等时,rownumber都相同,直接跳到下一个不同的序号。selectrank

    2022年5月3日
    81
  • python追加写入文本_python向文件中追加内容

    python追加写入文本_python向文件中追加内容withopen(‘data.txt’,’a’,encoding=’utf8′)asf:print(indexCode001,’:’,name001)f.writelines(indexCode001+”|”+name001+’\n’)

    2022年10月2日
    0
  • Python基本数据类型「建议收藏」

    Python基本数据类型「建议收藏」一、简介Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类

    2022年7月5日
    20
  • PDF文件预览_pdf文档下载网站

    PDF文件预览_pdf文档下载网站背景:项目中实现pdf文件的预览以及下载环境:jdk1.8、SpringBoot2.0、MavenPDF.js下载地址:http://mozilla.github.io/pdf.js/getti

    2022年8月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号