首頁 > 軟體

如何編譯安裝Linux核心

2020-06-16 16:29:21

作業系統環境

  • VMware workstation15 Pro
  • Ubuntu 18.04 LTS
  • 待編譯核心5.3.10版本
  • Compiler: gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

核心下載地址

kernel.org

環境設定

在正式編譯前需要安裝部分軟體。

sudo apt update && sudo apt upgrade
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

解壓縮

解壓縮剛剛下載好的核心壓縮包。

tar -zxf linux-5.3.10.tar.xz
cd linux-5.3.10

設定核心

在正式編譯核心之前,我們首先必須設定需要包含哪些模組。實際上,有一些非常簡單的方式來設定。使用一個命令,你能拷貝當前核心的組態檔,然後使用可靠的 menuconfig 命令來做任何必要的更改。

cp /boot/config-$(uname -r) .config

上述命令的意思就是拷貝對應當前核心設定到當前目錄下並重新命名為.config(檔名前加.意思為隱藏檔案)。

可以自行檢視下uname -r的輸出:

uname -r

之後執行命令:

make menuconfig

在虛擬機器下有可能提示會因為螢幕太小而無法顯示menuconfig而執行失敗。要確保虛擬機器下的顯示面積足夠大。

顯示如下:

在這裡可以選擇啟用或者禁用一些模組。如果你不知道該如何選擇的話,預設退出即可。

編譯和安裝

退出menuconfig後,在命令列中輸入

make -j4

命令即可開始編譯。-j4意思是並行執行,可以提高速度,一般情況 下不要多於CPU核數。這個命令的執行會耗費很長時間。

編譯完成之後首先安裝模組,命令為:

sudo make modules_install

其次安裝核心,命令為:

sudo make install

啟用核心作為引導

輸入下列命令將核心作為引導,將數位更改為你自己編譯的版本號:

sudo update-initramfs -c -k 5.3.10

下面更新一下grub:

sudo update-grub

之後重新啟動即可在啟動介面選擇需要啟動的核心。如果看不到啟動選擇介面,請執行以下操作:

輸入命令:

sudo vi /etc/default/grub

將檔案修改為以下模式:(注釋掉hidden那一行,將timeout更改為較大值,這裡改為了10)

之後執行

sudo update-grub

重新啟動即可見到下面選單,選擇advanced,進入後選擇剛編譯安裝好的核心進入即可。

 

確認核心版本

 

說明核心安裝成功。

自定義grub啟動項

1. 修改啟動項名稱

在ubuntu下,可以直接修改/boot/grub/grub.cfg中有關啟動項的名稱。

2. 增加自定義啟動項

複製/boot/grub/grub.cfg有關啟動項的內容到/etc/grub.d/40_custom進行自定義即可。

3. 執行update

最後都要執行下述命令以生效。

sudo update-grub

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