首頁 > 軟體

Ubuntu核心編譯教學-編譯Linux4.5.0核心

2020-06-16 17:43:51

實驗環境:Ubnuntu 64位元(推薦使用14.04)+Xshell

Linux雲伺服器很好用的,用來編譯核心效能也不錯。本文介紹最基本的核心編譯方法,為了方便,所有操作均在root使用者下進行。

如果不是root使用者可以使用su命令切換到root使用者。

註:使用xshell的時候最好把這一項給關閉了(工具——選項——高階)

一、環境準備

1.準備linux原始碼和修補程式,可以在官網(http://www.kernel.org)上下載,這裡我們下載4.5版本。

不過阿里提供了http://mirrors.aliyun.com/,也可以在這裡面下載,速度更快。下載映象的命令如下:

cd /tmp
wget http://mirrors.aliyun.com/linux-kernel/v4.x/linux-4.5.tar.xz
wget http://mirrors.aliyun.com/linux-kernel/v4.x/patch-4.5.xz

2.準備安裝需要的環境

首先需要執行apt-get update來更新軟體源,然後安裝需要的環境:

apt-get install kernel-package build-essential libncurses5-dev fakeroot

3.解壓縮核心

把壓縮包解壓:

xz -d linux-4.5.tar.xz

解壓後得到linux-4.5.tar,

執行tar –xvf linux-4.5.tar解壓得到目錄linux-4.5。

把核心目錄linux-4.5和修補程式patch-4.5.xz都複製到/usr/src,然後進入/usr/src

 
cp linux-4.5 /usr/src –rf
cp patch-4.5.xz /usr/src
cd /usr/src
 

二、準備編譯

1.打核心修補程式

xz -d patch-4.5.xz | patch -p1

執行後沒有任何提示說明執行正確

2.編譯設定

看以前的核心版本號,把裡面的.config檔案複製到linux-4.5資料夾中:

在上面的圖片中,我的核心資料夾是linux-headers-3.13.0-32-generic,我需要將這個資料夾中的.config檔案複製到linux-4.5目錄中。

cp linux-headers-3.13.0-32-generic/.config linux-4.5/ 

cd linux-4.5

然後執行make menuconfig,

選擇load→OK→Save→OK→EXIT→EXIT:

三、編譯核心

編譯核心有兩步,比較耗時間:一般在1-3個小時左右可以完成。

1.編譯啟動映像

make bzImage -jN

在這裡的N是你的CPU的核數*2,比如我是單核CPU,那麼我應該執行make bzImage -j2指令;如果我是雙核CPU,我應該執行make bzImage -j4。

如果嫌麻煩也可以直接執行make bzImage。

這裡可能會出現兩個錯誤:

fatal error: openssl/opensslv.h: No such file or directory 

這是因為沒有安裝openssl的,需要先安裝openssl: apt-get install libssl-dev

bc: not found。需要安裝bc:apt-get install bc

安裝對應依賴後再執行。

2.編譯模組

make modules -jN 這裡的N也跟上面是一樣的

也可以直接執行 make modules。

四、安裝核心

安裝核心的過程就快的很多了,這跟你下了軟體安裝包 安裝軟體 是一個道理。

先安裝模組

make modules_install

再安裝核心

make install

五、更改啟動grub

grub就是管理Ubuntu系統啟動的一個程式,我們編譯好的核心要執行就要修改對應的grub,其實很簡單。

mkinitramfs 4.5.0 -o /boot/initrd.img-4.5.0
update-grub2

update-grub2命令會幫我們自動修改grub,

修改後的grub內容如下:可以看見核心版本已經被改成了4.5.0

現在核心已經編譯好了,重新啟動伺服器,使用uname -a命令檢視自己的系統版本:

系統版本已經是linux 4.5!

怎樣在 Ubuntu 上安裝 Linux Kernel 4.4  http://www.linuxidc.com/Linux/2016-01/127383.htm

Linux Kernel 4.2.2 編譯安裝教學  http://www.linuxidc.com/Linux/2015-10/123714.htm

Ubuntu 15.10 將使用 Linux Kernel 4.2 核心  http://www.linuxidc.com/Linux/2015-09/122826.htm

怎樣在 CentOS 7 上安裝 Kernel 4.0.2  http://www.linuxidc.com/Linux/2015-05/117574.htm

怎樣在 CentOS 7 系統上安裝Linux Kernel 4.0  http://www.linuxidc.com/Linux/2015-04/116461.htm

如何在Ubuntu/CentOS上安裝Linux核心4.0  http://www.linuxidc.com/Linux/2015-04/116565.htm

如何在Ubuntu 13.10上安裝Linux核心 3.12 http://www.linuxidc.com/Linux/2013-11/92930.htm 

如何在Ubuntu 14.10,Ubuntu 14.04及其衍生版本安裝 3.16.7 CKT2核心 http://www.linuxidc.com/Linux/2014-12/110189.htm 


IT145.com E-mail:sddin#qq.com