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
安裝上就行。