色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区


嵌入式Linux內核如何編譯

分享到:
           

    編譯嵌入式Linux內核都是通過make的不同命令來實現的,它的執行配置文件是Makefile。Linux內核中不同的目錄結構里都有相應的Makefile,而不同的Makefile又通過彼此之間的依賴關系構成統一的整體,共同完成建立依存關系、建立內核等功能。

    內核的編譯根據不同的情況會有不同的步驟,但其中主要分別為3個步驟:內核配置、建立依存關系、建立內核,其他的為一些輔助功能,如清除文件等。如果在實際編譯時若出現錯誤,可以考慮采用其他輔助功能。下面首先分別講述這3步為主要的步驟。

    1.內核配置

    第一步內核配置中的選項主要是用戶用來為目標板選擇處理器架構的選項,不同的處理器架構會有不同的處理器選項,比如ARM就有其專用的選項如“Multimedia capabilities port drivers”等。因此,在此之前,必須確保在根目錄中Makefile里“ARCH”的值已設定了目標板的類型,如:
    ARCH:= arm

    接下來就可以進行內核配置了,內核支持4種不同的配置方法,這幾種方法只是與用戶交互的界面不同,其實現的功能是一樣的。每種方法都會通過讀入了一個默認的配置文件,即根目錄下“.config”隱藏文件(用戶也可以手動修改該文件,但不推薦使用)來實現。

    當然,用戶也可以自己加載其他配置文件,也可以將當前的配置保存為其他名字的配置文件。這4種方式如下所示:
    ·make config:基于文本的為傳統的配置界面,不推薦使用。
    ·make menuconfig:基于文本選單的配置界面,字符終端下推薦使用。
    ·make xconfig:基于圖形窗口模式的配置界面,Xwindow下推薦使用。
    ·make oldconfig:自動讀入“.config”配置文件,并且只要求用戶設定前次沒有設定過的選項。

    在這4種模式中,make menuconfig使用為廣泛,下面就以make menuconfig為例進行講解,如圖1.1所示。

圖1.1  make menuconfig配置界面
圖1.1 make menuconfig配置界面

    從該圖中可以看出,Linux內核允許用戶對其各類功能逐項配置,一共有18類配置選項,這里就不對這18類配置選項進行一一講解了,需要的讀者可以參見相關選項的help。在menuconfig的配置界面中是純鍵盤的操作,用戶可使用上下鍵和“Tab”鍵移動光標以進入相關子項,如圖1.2所示進入了“System Type”子項,該子項是一個重要的選項,主要用來選擇處理器的類型。

    可以看到,每個選項前都有個括號,按空格鍵或“Y”鍵表示包含該選項,按“N”表示不包含該選項。

    另外,讀者可以注意到,這里的括號有3種:中括號、尖括號和圓括號。讀者用空格鍵選擇相應的選項時可以發現:中括號里要么是空,要么是“*”;尖括號里可以是空、“*”和“M”,分別表示包含選項、不包含選項和編譯成模塊;圓括號的內容是要求用戶在所提供的幾個選項中選擇一項。

    此外,要注意2.6和2.4內核在串口命名上的一個重要區別,在2.4內核中“COM1”對應的是“ttyS0”,而在2.6內核中“COM1”對應“ttySAC0”,因此在啟動參數的子項要格外注意,如圖1.3所示,否則串口打印不出信息。

圖1.2  System Type子項
圖1.2 System Type子項

圖1.3  啟動參數配置子項
圖1.3 啟動參數配置子項

    一般情況下,使用廠商提供的默認配置文件都能正常運行,所以用戶初次使用時可以不用對其進行額外的配置,以后使用需要其他功能時再另行添加,這樣可以大大減少出錯的幾率,有利于錯誤定位。在完成配置之后,就可以保存退出,如圖1.4所示。

圖1.4  保存退出
圖1.4 保存退出

    2.建立依賴關系

    由于內核源碼樹中的大多數文件都與一些頭文件有依賴關系,因此要順利建立內核,內核源碼樹中的每個Makefile就必須知道這些依賴關系。建立依賴關系往往發生在第一次編譯內核的時候,它會在內核源碼樹中每個子目錄產生一個“.depend”文件,運行“make dep”即可。

    3.建立內核

    建立內核可以使用“make zImage”或“make bzImage”,這里建立的為壓縮的內核映像。通常在Linux中,內核映像分為壓縮的內核映像和未壓縮的內核映像。其中,壓縮的內核映像通常名為zImage,位于“arch/$(ARCH)/boot”目錄中。而未壓縮的內核映像通常名為vmlinux,位于源碼樹的根目錄中。

    到這一步就完成了內核源代碼的編譯,之后,讀者可以使用上一小節所講述的方法,把內核壓縮文件下載到開發板上運行。

    小知識:在嵌入式Linux的源碼樹中通常有以下幾個配置文件,“.config”、“autoconf.h”、“config.h”。其中“.config”文件是make menuconfig默認的配置文件,位于源碼樹的根目錄中;“autoconf.h”和“config.h”是以宏的形式表示了內核的配置,當用戶使用make menuconfig做了一定的更改之后,系統自動會在“autoconf.h”和“config.h”中做出相應的更改,它們位于源碼樹的“/include/linux/”下。


   熱點鏈接:

   1、嵌入式Linux編譯器GCC編譯流程
   2、北京嵌入式培訓哪好
   3、嵌入式培訓資料:搭建交叉編譯環境
   4、六種常見嵌入式操作系統
   5、嵌入式Linux編輯器vi的使用

更多新聞>> 

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 久久综合久久八八| 日日噜噜噜夜夜爽亚洲精品 | 欧美在线欧美在线| 国产一区私人高清影院| 视频一区视频二区国产精品| 97视频在线观看亚洲| 日韩人体视频一二区| 精品偷拍各种wc美女嘘嘘| 97视频色精品| 北条麻妃一区二区在线观看| 亚洲美女精品久久| 韩国一区二区电影| 91成人在线视频| 日韩视频免费中文字幕| 国产欧美一区二区三区久久人妖| 色综合亚洲精品激情狠狠| 成人h猎奇视频网站| 亚洲国产福利在线| 91精品国产高清久久久久久| 北条麻妃久久精品| 亚洲一区二区久久| 日韩精品在线观看一区| 国产精品一香蕉国产线看观看| 国产在线精品一区免费香蕉| 色综合男人天堂| 欧美精品一区二区免费| 国产精品爽爽爽| 国产精品99一区| 成人疯狂猛交xxx| 亚洲专区在线视频| 欧美激情视频在线| 欧美日韩亚洲国产一区| 91精品国产乱码久久久久久久久| 久久精品人人爽| 久久国产精品99国产精| 欧美日韩另类在线| 国a精品视频大全| 国产乱肥老妇国产一区二| 亚洲精品永久免费| 久久av在线看| 欧美又大又硬又粗bbbbb|