如何編譯安裝Linux內核

操做系統環境

  • VMware workstation15 Prohtml

  • ubuntu18.04 LTSlinux

  • 待編譯內核5.3.10版本git

內核下載地址

kernel.orgubuntu

 

 

 

 

 

環境配置

在正式編譯前須要安裝部分軟件。bash

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 -axf linux-5.3.10.tar.xz
cd linux-5.3.10

配置內核

在正式編譯內核以前,咱們首先必須配置須要包含哪些模塊。實際上,有一些很是簡單的方式來配置。使用一個命令,你能拷貝當前內核的配置文件,而後使用可靠的 menuconfig 命令來作任何須要的更改。less

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

上述命令的意思就是拷貝對應當前內核配置到當前目錄下並重命名爲.config(文件名前加.意思爲隱藏文件)。flex

能夠自行查看下uname -r的輸出:ui

uname -r

 

 

以後執行命令:spa

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,進入後選擇剛編譯安裝好的內核進入便可。

 

 

 

 

 

 

確認內核版本

 

 

 

 

說明內核安裝成功。

參考資料

## 操做系統環境* VMware workstation15 Pro* ubuntu18.04 LTS* 待編譯內核5.3.10版本## 內核下載地址[kernel.org]( https://www.kernel.org/ )![1573572395939](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573572395939.png)## 環境配置在正式編譯前須要安裝部分軟件。```bashsudo apt update && sudo apt upgradesudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison```## 解壓縮```bashtar -axf linux-5.3.10.tar.xzcd linux-5.3.10```## 配置內核 在正式編譯內核以前,咱們首先必須配置須要包含哪些模塊。實際上,有一些很是簡單的方式來配置。使用一個命令,你能拷貝當前內核的配置文件,而後使用可靠的 `menuconfig` 命令來作任何須要的更改。 ```bashcp /boot/config-$(uname -r) .config```上述命令的意思就是拷貝對應當前內核配置到當前目錄下並重命名爲```.config```(文件名前加```.```意思爲隱藏文件)。能夠自行查看下```uname -r```的輸出:```bashuname -r```![1573551297558](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573551297558.png)以後執行命令:```bashmake menuconfig```在虛擬機下有可能提示會由於屏幕過小而沒法顯示```menuconfig```而執行失敗。要確保虛擬機下的顯示面積足夠大。顯示以下:![1573551497621](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573551497621.png)在這裏能夠選擇啓用或者禁用一些模塊。若是你不知道該如何選擇的話,默認退出便可。## 編譯和安裝退出```menuconfig```後,在命令行中輸入```bashmake -j4```命令便可開始編譯。```-j4```意思是併發執行,能夠提升速度,通常狀況 下不要多於CPU核數。這個命令的執行會耗費很長時間。編譯完成以後首先安裝模塊,命令爲:```bashsudo make modules_install```其次安裝內核,命令爲:```bashsudo make install```## 啓用內核做爲引導輸入下列命令將內核做爲引導,將數字更改成你本身編譯的版本號:```bashsudo update-initramfs -c -k 5.3.10```![1573570797061](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573570797061.png)下面更新一下grub:```bashsudo update-grub```以後重啓便可在啓動界面選擇須要啓動的內核。若是沒法選擇,請執行如下操做:輸入命令:```bashsudo vi /etc/default/grub```將文件修改成如下模式:(註釋掉hidden那一行,將timeout更改成較大值,這裏改成了10)![1573572123358](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573572123358.png)以後執行```bahssudo update-grub```重啓便可見到下面菜單,選擇advanced,進入後選擇剛編譯安裝好的內核進入便可。![1573572011637](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573572011637.png)![1573572026840](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573572026840.png)## 確認內核版本![1573572280890](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573572280890.png)![](C:\Users\wangzhankun\AppData\Roaming\Typora\typora-user-images\1573551297558.png)說明內核安裝成功。

相關文章
相關標籤/搜索