欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Kconfig文件的作用 轉載自我的太陽(yáng) - 一些知識 - 革命的阿Q的奮斗歷程

內核源碼樹(shù)的目錄下都有兩個(gè)文件Kconfig2.4版本是Config.in)和Makefile。分布到各目錄的Kconfig構成了一個(gè)分布式的內核配置數據庫,每個(gè)Kconfig分別描述了所屬目錄源文件相關(guān)的內核配置菜單。在內核配置make menuconfig(xconfig)時(shí),從Kconfig中讀出菜單,用戶(hù)選擇后保存到.config的內核配置文件中。在內核編譯時(shí),主Makefile調用這個(gè).config,就知道了用戶(hù)的選擇。

*上面的內容說(shuō)明了,Kconfig就是對應著(zhù)內核的配置菜單。如果要想添加新的驅動(dòng)到內核的源碼中,可以修改Kconfig,這樣就可以選擇這個(gè)驅動(dòng),如果想使這個(gè)驅動(dòng)被編譯,要修改Makefile

so添加新的驅動(dòng)時(shí)需要修改的文件有兩種(注意不只是兩個(gè))

*Kconfig

*Makefile

要想知道怎么修改這兩種文件,就要知道兩種文件的語(yǔ)法結構

Kconfig

每個(gè)菜單都有一個(gè)關(guān)鍵字標識,最常見(jiàn)的就是config

語(yǔ)法:

config <symbol>

<config options>

symbol是一個(gè)新的標記的菜單項,options是在這個(gè)新的菜單項下的屬性和選項

其中options部分有:

1、類(lèi)型定義:

每個(gè)config菜單項都要有類(lèi)型定義,bool布爾類(lèi)型、 tristate三態(tài):內建、模塊、移除 string字符串、 hex十六進(jìn)制、 integer整型

例如config HELLO_MODULE

bool "hello test module"

bool類(lèi)型的只能選中或不選中,tristate類(lèi)型的菜單項多了編譯成內核模塊的選項,如果選擇編譯成內核模塊,則會(huì )在.config中生成一個(gè)CONFIG_HELLO_MODULE=m的配置,如果選擇內建,就是直接編譯成內核影響,就會(huì )在.config中生成一個(gè)CONFIG_HELLO_MODULE=y的配置.

2、依賴(lài)型定義depends onrequires

指此菜單的出現與否依賴(lài)于另一個(gè)定義

config HELLO_MODULE

bool "hello test module"

depends on ARCH_PXA

這個(gè)例子表明HELLO_MODULE這個(gè)菜單項只對XScale處理器有效。

3、幫助性定義

只是增加幫助用關(guān)鍵字help或者---help---

 內核的Makefile

 

linux2.6.x/Documentation/kbuild目錄下有詳細的介紹有關(guān)kernel makefile的知識。

內核的Makefile分為5個(gè)組成部分:

Makefile    
最頂層的
Makefile 
.config       
內核的當前配置文件,編譯時(shí)成為定層Makefile的一部分

arch/$(ARCH)/Makefile   
與體系結構相關(guān)的Makefile
s/ Makefile.*     
一些Makefile的通用規則

kbuild Makefile          
各級目錄下的大概約500個(gè)文件,編譯時(shí)根據上層Makefile傳下來(lái)的宏定義和其他編譯規則,將源代碼編譯成模塊或者編入內核

頂層的Makefile文件讀取 .config文件的內容,并總體上負責build內核和模塊。Arch Makefile則提供補充體系結構相關(guān)的信息。 s目錄下的Makefile文件包含了所有用來(lái)根據kbuild Makefile 構建內核所需的定義和規則。

(其中.config的內容是在make menuconfig的時(shí)候,通過(guò)Kconfig文件配置的結果。

舉個(gè)例子:

    假設想把自己寫(xiě)的一個(gè)flash的驅動(dòng)程序加載到工程中,而且能夠通過(guò)menuconfig配置內核時(shí)選擇該驅動(dòng)該怎么辦呢?可以分三步:

  第一:將你寫(xiě)的flashtest.c 文件添加到/driver/mtd/maps/ 目錄下。

  第二:修改/driver/mtd/maps目錄下的kconfig文件:

        config MTD_flashtest

             tristate “ap71 flash"

         這樣當make menuconfig時(shí) ,將會(huì )出現 ap71 flash選項。

 第三:修改該目錄下makefile文件。

ü       添加如下內容:obj-$(CONFIG_MTD_flashtest)       += flashtest.o

 這樣,當你運行make menucofnig時(shí),你將發(fā)現ap71 flash選項,如果你選擇了此項。該選擇就會(huì )保存在.config文件中。當你編譯內核時(shí),將會(huì )讀取.config文件,當發(fā)現ap71 flash 選項為yes 時(shí),系統在調用/driver/mtd/maps/下的makefile 時(shí),將會(huì )把 flashtest.o 加入到內核中。即可達到你的目的
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Linux內核源碼樹(shù)學(xué)習:Kconfig和Makefile
Linuxkernel的Makefile和Kconfig以及Makemenuconfig的關(guān)系
yaffs文件系統在2.6內核上的移植--操作步驟(轉載)
Linux Kbuild文檔
Linux內核開(kāi)發(fā)之將驅動(dòng)程序添加到內核
Kconfig 和 Makefile
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久