使用Ubuntu編譯Linux內核


1.下載內核並解壓到 /usr/src 目錄下

在終端執行以下命令即可下載 4.16.14版本(目前最新的穩定版)的內核到當前shell打開的目錄下

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.16.14.tar.xz  

解壓下載的內核文件 linux-4.16.14.tar.xz

xz -d linux-4.16.14.tar.xz   將 linux-4.16.14.tar.xz  文件解壓成 linux-4.16.14.tar 壓縮文件
sudo tar -xvf linux-4.16.14.tar  -C /usr/src  將 linux-4.16.14.tar 解壓到 /usr/src 目錄下

2.編譯內核可能用到的依賴庫安裝

	
sudo apt-get install libncurses5-dev libssl-dev 

sudo apt-get install build-essential openssl 

sudo apt-get install zlibc minizip 

sudo apt-get install libidn11-dev libidn11

sudo apt-get install bison

sudo apt-get install flex

3.配置內核編譯參數

cd /usr/src/linux-4.16.14  切換到剛才我們解壓的內核源代碼目錄下

make mrproper   清除編譯過程產生的中間文件,就是將內核代碼還原為剛解壓的狀態,最好每次編譯前執行一下。

make clean      清除上次編譯產生的中間文件,最好每次編譯前執行一下。

make menuconfig 配置編譯參數,編譯的內核模塊選擇,內核剪裁需要重點研究的部分。

4. 編譯內核

   make -jN     也可以只使用 make ,N表示編譯時用幾個線程編譯,最大不要超過CPU個數的兩倍

編譯內核比較耗時,大概兩小時。

5. 安裝內核

   make modules_install   安裝內核模塊,驅動等
   make install  安裝內核

6. 其它說明

內核配置,編譯過程中如果提示找不到依賴文件,只需要根據提示的錯誤信息安裝對應的依賴文件即可。

比如出現以下錯誤提示:

/bin/sh: 1: flex: not found
scripts/Makefile.lib:202: recipe for target 'scripts/kconfig/zconf.lex.c' failed
make[2]: *** [scripts/kconfig/zconf.lex.c] Error 127
Makefile:514: recipe for target 'silentoldconfig' failed

說明需要 flex模塊,但是電腦上沒有安裝,只需要執行sudo apt-get install flex安裝上就行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM