☰
menuconfig 语法
2026/10/11 4:02:59 网站建设 项目流程

menuconfig语法


  • 在Kconfig中定义的配置宏,前缀都没有CONFIG_,只有编译内核时,自动生成autoconf.h才会出现前缀.
  • 如果XX_defconfig板卡配置文件中定义新的宏=y时,而在Kconfig并没有声明它,则内核编译出来的autoconf.h里也不会定义它的.
  • 如果XX_defconfig板卡配置文件中没有设置CONFIG_MODULES=y则编译make modules时将会失败,而make menuconfig时,Kconfig中的tristate参数也会被读写为bool参数(也就是不能设置m)
名词说明
config一个选项
default默认配置项
helphelp 提示信息专用
prompt提示信息
comment相当于一行说明
choice单选框, choice 中的 config 参数只能b ool 或 tristate
endchoice与choice配对使用
depends on依赖项
select反依赖项
range数据范围range 0 100表述数据范围 0~100
if判断
endif与if配对使用
menu进入下个界面的菜单, 点击Enter键就能够进入这个menu所对应的界面
endmenu与menu配对使用
menuconfig可选的菜单,选择它,它就相当于成了一个菜单入口

类型

类型
booly – 默认选中
n – 默认不选
tristatey – 将驱动编译进内核镜像
n – 不编译
m – 将驱动编译为ko形式
string普通字符串类型
hex十六进制形式
int十进制整数
  • prompt 配置项的提示
  • default 表示默认值

基本的类型

config AAA bool "config AAA" default y config BB int "config BB" default 123 config CC string "config CC" default 123 config DD hex "config DD" default 0x123 config EE tristate "config EE" default y
  • 因为我的tristate没有启用, 所以为默认为了bool类型

备注 : 如果退格不能删除 请使用Ctrl + 退格


menu

menu "this is menu info" comment "*** menu config ***" config AAA bool "config AAA" default y config BBB bool "config BBB" default n config CCC bool "config CCC" default n endmenu


menuconfig

comment "*** menuconfig config ***" menuconfig AAA bool "using AAA" if AAA config BBB bool "using BBB" default y endif


select

config AAA bool "config AAA" select BBB # AAA 被选中后, BBB 也被选中 default y config BBB bool "config BBB" default y


depends

config XXX bool "config XXX" default y config YYY bool "config YYY" depends on XXX # 表示依赖, XXX 被选中 才会有 YYY default y


choice

choice prompt "choice entry" # 作为该单选框入口点的标签 default y default AAA # 默认选择 AAA 配置项 config AAA bool "config AAA" help AAA help info config BBB bool "config BBB" help BBB help info config CCC bool "config CCC" help CCC help info endchoice


引用其他文件的 Kconfig

  • dir/Kconfig文件内容
config AAA bool "config AAA" select BBB # AAA 被选中后, BBB 也被选中 default y config BBB bool "config BBB" default y
  • ./Kconfig文件内容
source service/elog/Kconfig


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询