内核的配置原理
以下內(nèi)容源于朱有鵬嵌入式課程的學(xué)習(xí),如有侵權(quán),請(qǐng)告知?jiǎng)h除。
1、配置的關(guān)鍵是得到.config文件
(1).config文件是一個(gè)隱藏文件,需要ls -a來(lái)查看。
(2)前兩步配置,是為了得到內(nèi)容合適的.config文件。
(3).config文件是linux內(nèi)核在編譯過(guò)程中很重要的一個(gè)文件。
- 作用類似與uboot中的include/configs/x210_sd.h,內(nèi)核在編譯過(guò)程中會(huì)讀取.config中的配置項(xiàng),并且用這些配置項(xiàng)去指導(dǎo)整個(gè)編譯鏈接過(guò)程。
(4).config文件的格式類似于腳本文件
- 其中內(nèi)容為類似于:CONFIG_ARM=y 的一個(gè)個(gè)配置項(xiàng)。
- 這些配置項(xiàng)類似于腳本文件中定義的一個(gè)一個(gè)變量,可以理解為定義了一個(gè)變量CONFIG_ARM,這個(gè)變量的值為y(yes)。
(5)從.config文件的規(guī)模可以看出linux內(nèi)核的可配置項(xiàng)有兩三千個(gè)。
- 因此linux內(nèi)核是高度可配置的,而且linux內(nèi)核的所有配置項(xiàng)很難全部搞明白;
- linux內(nèi)核的配置項(xiàng)太多太繁雜超出了人的大腦能夠記憶和處理的數(shù)量級(jí);
- 因此linux內(nèi)核不像uboot那樣直接手工配置,而是發(fā)明了一個(gè)圖形化的配置工具menuconfig。
- 只要人的大腦足夠厲害,完全可以手工去修改.config文件,完成內(nèi)核的配置。只要.config中內(nèi)容是最終正確的,就不影響編譯過(guò)程。
2、make xx_defconfig、make menuconfig相配合
(1)為了對(duì).config文件中的兩三千個(gè)配置項(xiàng)做逐一合適的配置,專門發(fā)明了兩步結(jié)合的配置方式。
- make xxx_defconfig完成大部分的配置項(xiàng)(這一步結(jié)束后99%的配置項(xiàng)就已經(jīng)正確了);
- make menuconfig完成細(xì)節(jié)的調(diào)整。
(2)make xx_defconfig工作實(shí)質(zhì)
- make x210ii_qt_defconfig其實(shí)相當(dāng)于cp ?arch/arm/configs/x210ii_qt_defconfig ?.config;
-
arch/arm/configs目錄下的xxx_defconfig從哪里來(lái)的?
- 由他人手工配置好的、適合一定的開(kāi)發(fā)板的.config文件;
- 譬如說(shuō)S5PV210這個(gè)SoC,針對(duì)這個(gè)SoC的開(kāi)發(fā)板的最初配置由三星的工程師完成。
(3)make menuconfig工作實(shí)質(zhì)
- 讀取第一步得到的.config,然后給出一個(gè)圖形化的界面,讓我們很容易地找到要修改的配置項(xiàng),然后更改配置。
總結(jié)
- 上一篇: 计算机用户登录设置成2000,2008计
- 下一篇: 企业信息化基础设施建设分析