日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux/Android Kconfig Makefile defconfig 和 .config关系

發布時間:2025/4/16 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux/Android Kconfig Makefile defconfig 和 .config关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊打開鏈接

在進行Android?L-》M升級時遇到打印:

Root cause is probably that a dependancy declared in Kconfig is not respected
or config was added in Kconfig but value not explicitly added to defconfig.
Recommanded method to generate defconfig is menuconfig tool instead of manual edit.

找了好多資料,上面的提示就是移植的時候將很多config配置項弄錯了,有的沒有定義的配置項弄到***defconfig中去了。

簡單概要:
Makefile和Kconfig存在系統中的多個子目錄中, Kconfig是定義配置項,Makefile是建立配置項生成法則。
.config存在根目錄中,一般通過menuconfig生成。一般在/arm/configs/xxxxxx_defconfig目錄下的文件是系統默認配置,android編譯的時候會將這個文件生成.config文件,同時編譯系統會根據各個Kconfig的配置項生成一個.config.old文件,如果這兩個文件不沖突則編譯繼續進行,否則提示上面的錯誤。

所以,可以根據生成的 .config(在kernel根目錄下)來修改xxxdefconfig文件,或者修改Kconfig中某些項的默認值或者定義規則。


在linux中和編譯有關的配置文件有:
makefile:
Kconfig:
.config:全局的配置文件,由它決定makefile來編譯哪些文件,一般是自動生成。?
在實際判斷使用哪些配置選項時,不會直接修改.config文件,而且通過使用圖形化界面(menuconfig)來配置內核,并把配置的結果保存成.config文件。
在編譯內核時,就根據makefile和.config選擇編譯哪些文件。

每個開發平臺都有一個可供參考的配置文件,如arch/arm/configs/xxxxxx_defconfig目錄下的文件,都是硬件廠商提供的,針對硬件平臺的配置文件。
當我們執行make menuconfig就會讀取源碼目錄下所有Kconfig內容,并生成界面中的選項菜單


關于kconfig的語法,在內核的開發文檔中有詳細的介紹,具體可以參看\Documentation\kbuild\kconfig-language.txt

Kconfig語法
?menu/endmenu???? 生成一個菜單,以endmenu結束
?menuconfig?????? 定義一個配置選項,在這個選項下面還有一個子菜單
?config?????????? 定義一個配置選項
?choice/endchoice 定義一個選擇項
?source?????????? 調用子目錄下的Kconfig,生成一個子菜單
?
?菜單屬性:
?bool???? y/n:?
?tristate y/n/M: M表示編譯成模塊
?string
?hex
?int
?
?配置選項之間的依賴關系:
?depend on:某選項依賴于另外一個選項生成
?select?? :反向依賴關系,該選項選中時,同時選中select后面定義的那一項
?requie
?默認值: default(默認y/n/m等值)
?輸入提示:prompt
?幫助信息:help
?
?Makefile

1.頂層的Makefile文檔讀取 .config文檔的內容,并總體上負責build內核和模塊。
2.Arch Makefile則提供補充體系結構相關的信息。?
3.scripts目錄下的Makefile文檔包含了任何用來根據kbuild Makefile 構建內核所需的定義和規則。
??????????? 其中.config的內容是在make menuconfig的時候,通過Kconfig文檔配置的結果,在/Documentation/kbuild目錄下有詳細的介紹有關kernel makefile的知識。
舉個例子:

假設想把G-sensor LSM303D驅動code加載到工程中,配置內核時該怎么辦呢?
1:將您寫的lsm303d.c 文檔添加到/driver/misc/ 目錄下。
2:修改/driver/misc/ 目錄下的kconfig文檔:
[html] view plain copy

??? config SENSORS_LSM303D ?
??????????? tristate "LSM303 sensor driver" ?
??????????? depends on I2C=y ?
??????????? help ?
????????????? Say yes here to support the sensor ?

3:修改該目錄下makefile文檔。
添加code:
[html] view plain copy

??? obj-$(CONFIG_SENSORS_LSM303D)?? += lsm303d.o ?

從上述分析知道CONFIG_SENSORS_LSM303D 是從.config 中讀出的。
4.配置kernel下configs/XXXX_defconfig文件
添加code:
[html] view plain copy

??? CONFIG_SENSORS_LSM303D=y ?

當您編譯內核時,將會讀取.config文檔,當發現CONFIG_SENSORS_LSM303D=y,系統在調用/driver/misc下的makefile 時,將會把 lsm303d.o 加入到內核中。即可達到您的目的。

總結

以上是生活随笔為你收集整理的Linux/Android Kconfig Makefile defconfig 和 .config关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91干网| 中文字幕人妻丝袜乱一区三区 | 免播放器在线视频 | 无码人妻精品一区二区三区9厂 | www欧美视频| n0659极腔濑亚美莉在线播放播放 | 91免费高清在线观看 | 韩国一级一片高清免费观看 | 亚洲一区二区三区av无码 | 精品视频在线免费 | 全部毛片永久免费看 | 91久久精品无码一区二区 | 粉嫩av一区二区三区 | 久久香蕉影院 | 欧美特级毛片 | 亚洲欧美另类国产 | 亚洲伦理影院 | 日韩无 | www.色播.com | 一区视频| 又黄又爽的视频 | 亚洲另类av| 熟女少妇精品一区二区 | 青青五月天 | 日本高清黄色电影 | 超碰影院在线 | 成人av网站免费 | 性猛交xxxx乱大交孕妇2十 | 国产经典av| 欧美交换配乱吟粗大25p | 91国产丝袜在线播放 | 丰满人妻在公车被猛烈进入电影 | 亚洲狼人干 | 亚洲国产免费av | 日韩一卡二卡在线 | 成年人在线免费观看视频网站 | 亚洲精品久久久久久国 | 免费色片 | 在线免费黄网 | 午夜天堂精品 | 丰满少妇被猛烈进入高清播放 | 免费看黄色片网站 | 天天干国产| 黄色片的网站 | 成人小视频在线播放 | 一区二区视频在线 | 久久久久人妻一区精品 | 日韩不卡视频在线观看 | 色丁香婷婷综合久久 | 67194午夜 | 波多野结衣在线免费观看视频 | 亚洲精品一区二区三区影院忠贞 | 乱老熟女一区二区三区 | 欧美国产精品一区二区三区 | 欧洲黄视频 | 日本免费在线视频观看 | 欧美卡一卡二 | 激情小说图片视频 | 日本a级黄色 | 熟妇高潮喷沈阳45熟妇高潮喷 | 黄色片www | 精品一二区 | japanese国产在线观看 | 婷婷久久综合网 | 91黑丝视频 | 美女露胸露尿口 | 欧美精品乱码久久久久久按摩 | 国内成人av| 乱lun合集男男高h | 大学生高潮无套内谢视频 | 香蕉国产在线 | 欧美熟妇另类久久久久久多毛 | 一区久久 | 福利视频在线播放 | 国产按摩一区二区三区 | aaaaa级片| 国产午夜久久 | 少妇做爰免费理伦电影 | 国产精品毛片久久久久久 | 91精品国产综合久久久久久 | 日韩在线导航 | 在线免费观看黄网站 | 美女国产视频 | 日韩五月| 奇米婷婷 | 精品免费国产一区二区三区四区 | 日本在线视频中文字幕 | 国产v在线 | 中文字幕精品一区久久久久 | 亚洲av日韩av在线观看 | 日日爱99| 91香焦视频 | 久久精品久久久久久 | 亚洲女女做受ⅹxx高潮 | 成人性生交大片 | 在线一级片 | 四虎av在线播放 | 欧美一区二区三区激情视频 | 欧洲综合视频 |