微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閹绢喗鍎夊鑸靛姇缁狙囧箹鐎涙ɑ灏ù婊呭亾娣囧﹪濡堕崟顓炲闂佸憡鐟ョ换姗€寮婚敐澶婄闁挎繂妫Λ鍕磼閻愵剙鍔ゆ繛纭风節瀵鎮㈤崨濠勭Ф闂佸憡鎸嗛崨顔筋啅缂傚倸鍊烽懗鑸靛垔椤撱垹鍨傞柛顐f礀閽冪喖鏌曟繛鐐珕闁稿妫濋弻娑氫沪閸撗€妲堝銈呴獜閹凤拷04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珕闂佽姤锚椤︻喚绱旈弴銏♀拻濞达綀娅g敮娑㈡煕閺冣偓濞茬喖鐛弽顓ф晝闁靛牆娲g粭澶婎渻閵堝棛澧遍柛瀣仱閹繝濡烽埡鍌滃幗闂佸搫娲ㄩ崑娑㈠焵椤掆偓濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹05闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧扮紒顕嗙到铻栧ù锝堟椤旀洟姊洪悷鎵憼闁荤喆鍎甸幃姗€鍩¢崘顏嗭紲闂佺粯鐟㈤崑鎾绘煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢敍娑㈡⒑閸涘⿴娈曞┑鐐诧躬閹即顢氶埀顒€鐣烽崼鏇ㄦ晢濠㈣泛顑嗗▍灞解攽閻樺灚鏆╁┑顔芥尦楠炲﹥寰勯幇顒傦紱闂佽宕橀褔鏌ㄩ妶鍡曠箚闁靛牆瀚崗宀勬煕濞嗗繑顥㈡慨濠呮缁辨帒螣閼姐値妲梻浣呵归敃銈咃耿闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屻倝宕妷锔芥瘎婵炲濮甸懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸褉鍋撻棃娑欏暈鐎规洖寮堕幈銊ヮ渻鐠囪弓澹曢梻浣虹帛娓氭宕板☉姘变笉婵炴垶菤濡插牊绻涢崱妯哄妞ゅ繒鍠栧缁樻媴閼恒儳銆婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�
首页 > 硬件设计 > 嵌入式设计 > Linux内核配置系统详解

Linux内核配置系统详解

时间:05-07 来源:IBM 点击:

  以字符界面配置(make config)为例,顶层 Makefile 调用 scripts/Configure, 按照 arch/arm/config.in 来进行配置。命令执行完后产生文件 .config,其中保存着配置信息。下一次再做 make config 将产生新的 .config 文件,原 .config 被改名为 .config.old

  3.2 配置语言

  1) 顶层菜单

  mainmenu_name /prompt/ /prompt/ 是用'或"包围的字符串,'与"的区别是'…'中可使用$引用变量的值。mainmenu_name 设置最高层菜单的名字,它只在 make xconfig 时才会显示。

  2) 询问语句

        bool      /prompt/ /symbol/
    hex       /prompt/ /symbol/ /word/
    int       /prompt/ /symbol/ /word/
    string     /prompt/ /symbol/ /word/
    tristate    /prompt/ /symbol/

  询问语句首先显示一串提示符 /prompt/,等待用户输入,并把输入的结果赋给 /symbol/ 所代表的配置变量。不同的询问语句的区别在于它们接受的输入数据类型不同,比如 bool 接受布尔类型( y 或 n ),hex 接受 16 进制数据。有些询问语句还有第三个参数 /word/,用来给出缺省值。

  3) 定义语句

        define_bool   /symbol/ /word/
    define_hex   /symbol/ /word/
    define_int   /symbol/ /word/
    define_string  /symbol/ /word/
    define_tristate /symbol/ /word/

  不同于询问语句等待用户输入,定义语句显式的给配置变量 /symbol/ 赋值 /word/。

  4) 依赖语句

    dep_bool    /prompt/ /symbol/ /dep/ ...
    dep_mbool    /prompt/ /symbol/ /dep/ ...
    dep_hex     /prompt/ /symbol/ /word/ /dep/ ...
    dep_int     /prompt/ /symbol/ /word/ /dep/ ...
    dep_string   /prompt/ /symbol/ /word/ /dep/ ...
    dep_tristate  /prompt/ /symbol/ /dep/ ...

  与询问语句类似,依赖语句也是定义新的配置变量。不同的是,配置变量/symbol/的取值范围将依赖于配置变量列表/dep/ …。这就意味着:被定义的配置变量所对应功能的取舍取决于依赖列表所对应功能的选择。以dep_bool为例,如果/dep/ …列表的所有配置变量都取值y,则显示/prompt/,用户可输入任意的值给配置变量/symbol/,但是只要有一个配置变量的取值为n,则/symbol/被强制成n。

  不同依赖语句的区别在于它们由依赖条件所产生的取值范围不同。

  5) 选择语句

choice     /prompt/ /word/ /word/

  choice 语句首先给出一串选择列表,供用户选择其中一种。比如 Linux for ARM 支持多种基于 ARM core 的 CPU,Linux 使用 choice 语句提供一个 CPU 列表,供用户选择:

         choice 'ARM system type'
    "Anakin         CONFIG_ARCH_ANAKIN
     Archimedes/A5000    CONFIG_ARCH_ARCA5K
     Cirrus-CL-PS7500FE   CONFIG_ARCH_CLPS7500
      ……
     SA1100-based      CONFIG_ARCH_SA1100
     Shark         CONFIG_ARCH_SHARK" RiscPC

  Choice 首先显示 /prompt/,然后将 /word/ 分解成前后两个部分,前部分为对应选择的提示符,后部分是对应选择的配置变量。用户选择的配置变量为 y,其余的都为 n。

  6) if语句

        if [ /expr/ ] ; then
     /statement/
     ...
    fi
    
    if [ /expr/ ] ; then
     /statement/
     ...
    else
     /statement/
     ...
    fi

  if 语句对配置变量(或配置变量的组合)进行判断,并作出不同的处理。判断条件 /expr/ 可以是单个配置变量或字符串,也可以是带操作符的表达式。操作符有:=,!=,-o,-a 等。

  7) 菜单块(menu block)语句

mainmenu_option next_comment
comment '…..'

endmenu

  引入新的菜单。在向内核增加新的功能后,需要相应的增加新的菜单,并在新菜单下给出此项功能的配置选项。Comment 后带的注释就是新菜单的名称。所有归属于此菜单的配置选项语句都写在 comment 和 endmenu 之间。

  8) Source 语句

  source /word/

  /word/ 是文件名,source 的作用是调入新的文件。

  3.3 缺省配置

  Linux 内核支持非常多的硬件平台,对于具体的硬件平台而言,有些配置就是必需的,有些配置就不是必需的。另外,新增加功能的正常运行往往也需要一定的先决条件,针对新功能,必须作相应的配置。因此,特定硬件平台能够正常运行对应着一个最小的基本配置,这就是缺省配置。

Linux 内核中针对每个 ARCH 都会

閻忓繐瀚伴。鑸电▔閹捐尙鐟归柛鈺冾攰椤斿嫰寮▎鎴旀煠闁规亽鍔忓畷锟�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top