zoukankan      html  css  js  c++  java
  • Kconfig文件说明2

    Konfig详解:

    当执行#make menuconfig时会出现内核的配置界面,所有配置工具都是通过读取"arch/$(ARCH)Kconfig"文件来生成配置界面,这个文件就是所有配置的总入口,它会包含其他目录的Kconfig。

    Kconfig的作用:Kconfig用来配置内核,它就是各种配置界面的源文件,内核的配置工具读取各个Kconfig文件,生成配置界面供开发人员配置内核,最后生成配置文件.config。

    Kconfig的语法可以参考“Documentation/kbuild/kconfig-language.txt”

    Kconfig文件的基本要素:

    1.config条目(entry)

      config TMPFS_POSIX_ACL
        bool "Tmpfs POSIX Access Control Lists"
        depends on TMPFS
        select GENERIC_ACL
        help
          POSIX Access Control Lists (ACLs) support permissions for users and
          groups beyond the owner/group/world scheme.
          To learn more about Access Control Lists, visit the POSIX ACLs for
          Linux website <http://acl.bestbits.at/>.
         If you don't know what Access Control Lists are, say N.

    解析:

     config是关键字,表示一个配置选项的开始;紧跟着的TMPFS_POSIX_ACL是配置选项的名称,省略了前缀"CONFIG_"

     bool表示变量类型,即"CONFIG_ TMPFS_POSIX_ACL "的类型,有5种类型:bool、tristate、string、hex和int,其中tristate和string是基本的类型

                  bool变量的值:    y和n

                  tristate变量的值:y、n和m

                  string变量的值:  字符串

        bool之后的字符串“Tmpfs POSIX Access Control Lists”是提示信息,在配置界面中上下移动光标选中它时,就可以通过按空格或回车键来设置

    CONFIG_ TMPFS_POSIX_ACL的值

        depends on:表示依赖于XXX,“depends on TMPFS”表示只有当TMPFS配置选项被选中时,当前配置选项的提示信息才会出现,才能设置当前配置选项

    2.menu条目

       menu条目用于生成菜单,其格式如下:

    menu "Floating poing emulation"
             config FPE_NWFPE
             ..............
             config FPE_NWFPE_XP=
             .............
             endmenu
       menu之后的Floating poing emulation是菜单名,menu和endmenu间有很多config条目,在配置界面中如下所示:
             Floating poing emulation--->
                           [] FPE_NWFPE
                           [] FPE_NWFPE_XP

    3.choice条目

       choice条目将多个类似的配置选项组合在一起,供用户单选或多选

    choice
                 prompt "ARM system type"
                 default ARCH_VERSATILE
                 config ARCH_AAEC2000
                      .........
                 config ARCH_REALVIEW
                      .........
            endchoice

     prompt "ARM system type"给出提示信息“ARM system type”,光标选中后回车进入就可以看到多个config条目定义的配置选项

         choice条目中定义的变量只有bool和tristate

    4.comment条目

       comment条目用于定义一些帮助信息,出现在界面的第一行,如在arch/arm/Kconifg中有如下代码:

    menu "Floating point emulation"                                                                      
    
    comment "At least one emulation must be selected"                                                                                       
    
    config FPE_NWFPE
    
    .........                                                                               
    
    config FPE_NWFPE_XP

    在界面中如下所示:

    5.source条目

       source条目用于读取另一个Kconfig文件,如:

            source "net/Kconifg"

  • 相关阅读:
    ubuntu如何设置Python的版本
    PHP队列之理论篇
    ubuntu系統如何啟動root用戶登陸?
    如何绑定腾讯企业邮箱?
    VMware虚拟机安装Ubuntu并设置root登陆
    毕业生,如何选择高薪资与学习机会?
    如何改变memcached默认的缓存时间?
    PHP常用函数之数组篇
    如何安装并使用bower包依赖工具
    z-score
  • 原文地址:https://www.cnblogs.com/Caden-liu8888/p/8329263.html
Copyright © 2011-2022 走看看