如何在CentOS下源碼編譯安裝新版本內(nèi)核

如何在CentOS下源碼編譯安裝新版本內(nèi)核

如何在centos下源碼編譯安裝新版本內(nèi)核?

在工作中,很多時候由于需要使用新的技術(shù)方案,需要較新版本的內(nèi)核來支持新的功能,而CentOS系統(tǒng)自帶的內(nèi)核版本普遍都比較舊,因此我們需要對系統(tǒng)的內(nèi)核進行升級,安裝新版的內(nèi)核。在此,以CentOS 7系統(tǒng)為例,對編譯安裝最新版內(nèi)核的過程做如下總結(jié):

1、下載最新穩(wěn)定版本的內(nèi)核源碼包到 /usr/local/src ,并解壓到當前目錄

如何在CentOS下源碼編譯安裝新版本內(nèi)核

2、解壓內(nèi)核源碼包

如何在CentOS下源碼編譯安裝新版本內(nèi)核

3、從 /boot 目錄將現(xiàn)有版本的內(nèi)核編譯config配置文件拷過來到放到新的內(nèi)核源碼解壓目錄內(nèi)并重命名為.config的隱藏文件

[root@localhost?src]#?cd?linux-5.2.11 [root@localhost?linux-5.2.11]#?cp?/boot/config-3.10.0-957.el7.x86_64?./.config

從boot目錄拷貝原內(nèi)核的config文件過來主要是為了方便,這個文件保存了在安裝系統(tǒng)時內(nèi)核所安裝的模塊配置信息(否則需要重新手動指定每一個模塊的編譯配置)。

4、安裝依賴包

安裝開發(fā)工具包組

[root@localhost?linux-5.2.11]#?yum?-y?groupinstall?"development?tools"

安裝ncurse-devel包 (make menuconfig 文本界面窗口依賴包)

[root@localhost?linux-5.2.11]#?yum?-y?install?ncurses-devel

5、運行 make menuconfig,開啟文本界面的編譯選項菜單窗口,可以對內(nèi)核加載的模塊編譯選項進行調(diào)整,如修改編譯后的內(nèi)核名稱、新添加之前系統(tǒng)缺少的模塊等。

修改內(nèi)核名稱:

General?setup?--->local?version?-append?to?kernel?release

此處修改內(nèi)核名稱為 5.2.11-001.el7.x86_64

如何在CentOS下源碼編譯安裝新版本內(nèi)核

新添加NTFS文件系統(tǒng)支持模塊:

File systems —>DOS/FAT/NT Filesystems —>NTFS file system support

如何在CentOS下源碼編譯安裝新版本內(nèi)核

建議選擇以模塊方式(M選項)編譯。(*號則是以靜態(tài)方式編譯打包進內(nèi)核文件中,如果新添加的模塊較多,會導(dǎo)致內(nèi)核文件體積增大)

6、編譯內(nèi)核

[root@localhost?linux-5.2.11]#?make?-j?4??#根據(jù)CPU核數(shù)開啟多線程編譯以加快編譯速度

如何在CentOS下源碼編譯安裝新版本內(nèi)核

開始漫長的編譯過程,大概需要1-2小時左右,具體視CPU硬件的性能決定。

如果編譯開始提示錯誤,則可能需要預(yù)先安裝對應(yīng)的組件包,例如:

[root@localhost?linux-5.2.11]#?yum?-y?install?openssh-devel?elfutils-libelf-devel?bc

根據(jù)對應(yīng)的錯誤提示,yum 方式安裝對應(yīng)的組件包,部分組件包在epel源,所以需要預(yù)先配置好epel源倉庫。

7、編譯安裝模塊

編譯完成后執(zhí)行make modules_install 安裝內(nèi)核模塊

[root@localhost?linux-5.2.11]#?make?modules_install

8、安裝內(nèi)核核心文件

[root@localhost?linux-5.2.11]#?make?install

reboot重啟

如需將新版本內(nèi)核設(shè)置為默認啟動內(nèi)核,可以使用此命令

grub2-set-default?0??#0表示?/boot/grub2/grub.cfg?文件中排在第一位的?menuentry?段

重啟進入系統(tǒng)后,查看一下內(nèi)核版本,已經(jīng)是最新的5.2.11版本

[root@localhost?~]#?uname?-r 5.2.11-001.el7.x86_64

至此,整個內(nèi)核的編譯安裝過程完成。

相關(guān)參考:centOS教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊10 分享