menuconfig 图形化配置

menuconfig 图形化配置  uboot或Linux内核可以通过输入“makemenuconfig”来打开图形化配置界面,menuconfig是一套图形化的配置工具,需要ncurses库支持。ncurses库提供了一系列的API函数供调用者生成基于文本的图形界面  menuconfig重点会用到两个文件:.config和Kconfig,.config文件保存着uboot或Linux内核的配置项,使用menuconfig配置完uboot或Linux内核以后肯定要更新.config

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

  uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面, menuconfig是一套图形化的配置工具,需要 ncurses 库支持。 ncurses 库提供了一系列的 API 函数供调用者生成基于文本的图形界面
  menuconfig 重点会用到两个文件: .config 和 Kconfig, .config 文件保存着 uboot或 Linux 内核 的配置项,使用 menuconfig 配置完 uboot或 Linux 内核 以后肯定要更新.config 文件。 Kconfig文件是图形界面的描述文件,也就是描述界面应该有什么内容,很多目录下都会有 Kconfig 文件。
  关于 Kconfig的详细语法介绍,可以参考 linux 内核源码(不知为何 uboot 源码中没有这个文件)中的文件Documentation/kbuild/kconfig-language.txt

一、Kconfig 语法简介

1.1、 mainmenu

  顾名思义 mainmenu 就是主菜单,也就是输入“make menuconfig”以后打开的默认界面

1.2、调用其他目录下的 Kconfig 文件

  和 makefile 一样, Kconfig 也可以调用其他子目录中的 Kconfig 文件,调用方法如下:
  source “xxx/Kconfig” //xxx 为具体的目录名,相对路径

1.3、 menu/endmenu 条目

  menu 用于生成菜单, endmenu 就是菜单结束标志,这两个一般是成对出现的。

1.4、 config 条目

  config 条目就是具体配置项。以 config 关键字开头,后面跟着的就是配置项名字。.config 文件中的“CONFIG_xxx” (xxx 就是具体的配置项名字)就是 Kconfig 文件中 config 关键字后面的配置项名字加上“CONFIG_”前缀。
  config 关键字下面的这几行是配置项属性,属性里面描述了配置项的类型、输入提示、依赖关系、帮助信息和默认值等。

1.5、 depends on 和 select

  “depends on”说明“A”项依赖于“B”,也就是说“B”被选中以后“ A”才能被选中

1.6、 choice/endchoice

  choice/endchoice 代码段定义了一组可选择项,将多个类似的配置项组合在一起,供用户单选或者多选。

1.7、 menuconfig

  menuconfig 和 menu 很类似,但是 menuconfig 是个带选项的菜单

1.8、 comment

  comment 用 于 注 释 , 也 就 是 在 图 形 化 界 面 中 显 示 一 行 注 释

1.9、 source

  source 用于读取另一个 Kconfig

二、添加自定义菜单

  图形化配置工具的主要工作就是在.config 下面生成前缀为“CONFIG_”的变量,这些变量一般都要值,为 y, m 或 n,在 uboot 源码里面会根据这些变量来决定编译哪个文件。添加自定义菜单要求如下:
  ①、在主界面中添加一个名为“My test menu”,此菜单内部有一个配置项。
  ②、配置项为“MY_TESTCONFIG”,此配置项处于菜单“My test menu”中。
  ③、配置项的为变量类型为 bool,默认值为 y。
  ④、配置项菜单名字为“This is my test config”。
  ⑤、配置项的帮助内容为“This is a empty config, just for tset!”。
  打开顶层 Kconfig,在最后面加入如下代码:

menu "My test menu"
config MY_TESTCONFIG
 bool "This is my test config"
 default y
 help
  This is a empty config, just for test!
endmenu # my test menu

  Kconfig 文件的最终目的就是在.config 文件中生成以“CONFIG_”开头的变量。

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

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

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


相关推荐

  • 区块链是90后遇到的最后一个风口!_区块链2020年风口

    区块链是90后遇到的最后一个风口!_区块链2020年风口蛰伏的区块链,风口过后的渡劫正在开启

    2022年4月22日
    69
  • SQL注入基本原理_sql到底怎么注入

    SQL注入基本原理_sql到底怎么注入SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,它目前是黑客对数据库进行攻击的最常用手段之一。

    2025年7月17日
    5
  • 《java核心技术卷I》[通俗易懂]

    《java核心技术卷I》[通俗易懂]《java核心技术卷I》java老师讲课的内容PPT代码基本是来自于这里,感觉还不错,里面的代码也是循序渐进的。这本书本身也是老师开始讲课时推荐的或者说参考的书的第一本。

    2022年7月7日
    23
  • 读懂蛋白质PDB文件

    读懂蛋白质PDB文件对于从事生物行业的朋友们来说,PDB文件和蛋白质结构是很多人绕不过去的问题。然而对于天天跑电泳过柱子的生物狗来说,PDB文件打开后与天书无异。这里,我转载一篇网上看到的关于PDB文件内记号说明的文章,希望对大家有用!教你读懂蛋白质的PDB文件&n…

    2022年6月2日
    157
  • 冯·诺依曼计算机特点[通俗易懂]

    冯·诺依曼计算机特点冯·诺依曼,20世纪最重要的数学家之一。在现代计算机、博弈论、核武器和生化武器等众多领域内有杰出建树的最伟大的科学全才之一,被后人称为“计算机之父”和“博弈论之父”。一、冯·诺依曼计算机结构二、冯·诺依曼计算机的特点计算机由五大部件组成:存储器,运算器,控制器,输入设备,输出设备。指令和数据以同等地位存于存储器,可按地址顺序访问。指令和数据用二进制表示。指令由操作码和地址码组成。存储程序,程序在计算机中顺序存放。以运算器为中心。(不合理:花大量的时间进行数据传输,降

    2022年4月12日
    95
  • pycahrm 2021年激活码【中文破解版】

    (pycahrm 2021年激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsa…

    2022年3月21日
    69

发表回复

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

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