嵌入式Linux應用與開發實踐——內核配置與編譯基礎

在這裏我們先保存一個友善之臂下載網址
裏面有內核源碼,不過,我想使用最新版本的內核嘗試一下,所以,我選擇下載官網的https://www.kernel.org(嗚嗚嗚,沒有配置好鏡像源,下載速度太慢了)。
Linux虛擬機中Ubuntu 下載速度慢,更換鏡像源使下載速度正常。這是一個.tar.xz文件,我們要先來解壓它。

Linux下解壓tar.xz文件

xz -d linux-5.7.tar.xz.part
tar -xvf linux-5.7.tar

xz使用格式:壓縮:

xz -z  filename 

解壓:

xz -d  filename

tar格式:壓縮:

tar -cvf  filename

解壓:

tar -xvf filename

內核目錄結構

我們先來學習一下內核的目錄結構。
在這裏插入圖片描述在這裏插入圖片描述arch包含了所有與體系結構相關的代碼,cd arch每一個子目錄都代表Linux支持的一種體系結構,比如arm代表CPU應用的體系結構。
在這裏插入圖片描述回到之前的總目錄下,documentation有相應的文檔,drivers裏面包含設備所需要的常用驅動程序。
在這裏插入圖片描述fs代表文件系統,include裏面包含的是編譯內核所需要的頭文件。init目錄包含了內核初始化的代碼。ipc內核進程通訊的代碼,kernel內核管理的核心代碼,lib代表庫,mm包含內存管理代碼,net是網絡相關的代碼。

第一步內核配置

在編譯內核之前,我們先 vi Makefile查找交叉編譯進行相應修改。然後我們開始內核配置爲目標板選擇相應處理器構架,內核選項(LCD)
首先我們先拷貝一個cp config_mini2440_t35 .config,接下來我們開始配置,make config現在用的很少,選項是一個一個出來的,很麻煩。另外一種使用方法是make menuconfig,用的比較多,是基於文本菜單的配置界面。
在這裏插入圖片描述通用配置敲回車進去。
[ ]相當於單選,
( )表示幾個裏面選一個,
< >有三種情況< ><*>
M表示模塊的意思,加載模塊。

系統默認編譯.config文件。

第二步編譯內核

建立壓縮的內核映像,

make deb
make zImage

編譯內核時間會比較長,編譯好了後,內核的位置在Kernel : arch/arm/boot裏面

今日寫文背景音樂《情霜》


輕輕吹散
天地分開
相隔萬丈
那 又能怎麼樣
月光連接了 思量
寫一封情書
以初見作爲開場
萬年一段
千年一行
一千年一萬年
從此兩不相忘
任世間如何慌張
我在情書裏找到
每生相遇的地方
我會在那裏等待
一起看斜陽
我在情書裏找到
每生相愛的地方
我會在那裏歌唱
彈奏着月光
我在情書裏找到
每生許願的地方
種下一朵紅蓮
把時光染香
我在情書裏找到
每生相愛的地方
我會在那裏歌唱
彈奏着月光
我在情書裏找到
每生相遇的地方
我會在那裏等待
一起看斜陽
我在情書裏找到
每生相愛的地方
我會在那裏歌唱
彈奏着月光
我在情書裏找到
每生許願的地方
種下一朵紅蓮
把時光染香
我在情書裏找到
每生相愛的地方
我會在那裏歌唱
彈奏着月光

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章