添加內核編譯選項

當咱們本身對內核代碼進行了添加,如添加了對某設備的支持,咱們就要添加內核編譯選項使得咱們能夠編譯咱們本身的代碼.源碼

一下順序能夠互換:編譯

1,拷貝源碼到相應類型的目錄下.file

2,在該目錄下找到Kconfig文件,在文件中添加選項:select

通常爲:引用

config  config的名稱makefile

  tristate 顯示的名稱        #用於顯示在選項中的名稱,能夠有三種選擇結果,不選擇,內建,模塊文件

  bool   顯示的名稱      #用於顯示在選項中的名稱,能夠有兩種選擇結果,選中和不選中,不支持模塊,和tristate二者選一make

  depends on 其餘選項名稱    #根據其餘選項是否被選擇而顯示或者不顯示co

  select 其餘選項名稱      #這個和depends on相反,這個選項能夠決定其餘的選項的顯示內核

  default y           #默認選項也是對應的不選擇(n),內建(y),模塊(m)三種結果,也能夠根據其餘的選擇來決定,if 其餘選項

  help

  help的內容           #幫助

 

若是咱們是有一類不少的設備或者功能時,咱們能夠使用

menu 名稱

config ....

config ...

endmenu

或者

choices

config ....

config ...

endchoice

跟menu與endmenu用法基本同樣,惟一的區別在於,choices定義的「子菜單」(應該叫選項表)中的多個菜單項只能有一個被選中,至關於menu定義一個可多選的子菜單,choices定義一個單選的子菜單

 

comment 說明性的文字    #選項中顯示一行說明性的文字,不能進行選擇

source 其餘的Kconfig文件   #引用其餘的config文件

3,在makefile文件中添加

obj-y += 代碼文件名.o    #內建編譯

obj-m += 代碼文件名.o    #模塊編譯

obj-$(本身添加的config名稱) += 代碼文件名.o  #根據config選項進行編譯

多文件編譯:

obj-$(本身添加的config名稱) += 目標.o

目標-y:= 代碼1.o 代碼2.o .....

或者根據其餘選項來決定是否要集成某些 .o文件

目標-$(其餘config選項) += 代碼.o

相關文章
相關標籤/搜索