最近試著改source code重新編譯kernel,把步驟記錄下來。

我的環境為:ubuntu 16.04 server, kernel version 4.4


安裝必要套件

sudo apt-get install build-essential ncurses-dev libssl-dev build-essential ncurses-dev xz-utils kernel-package

下載linux kernel並解壓縮
因為開機時會自動載入新版kernel,所以我選了kernel version 4.5!如果裝的版本較舊,在開機時可以按住shift進入開機選單做選擇。

wget https://github.com/torvalds/linux/archive/v4.5.tar.gz
tar -xvf v4.5.tar.gz
cd linux-4.5/

設定config檔
複製原有的config檔案,重新存成一份.config

cp /boot/config-4.4.0-21-generic .
make menuconfig

編譯kernel
-j 4 代表使用四核心進行編譯,可以加快速度

sudo make -j 4 clean
sudo make -j 4
sudo make modules -j 4
sudo make modules_install
sudo make install

參考資料

What’s a simple way to recompile the kernel?
在ubuntu 14.04 編譯 linux kernel