首頁 >運維 >CentOS >如何在CentOS下源碼編譯安裝新版本內核

如何在CentOS下源碼編譯安裝新版本內核

WJ
WJ原創
2020-06-06 17:14:272482瀏覽

如何在CentOS下源碼編譯安裝新版本內核

如何在CentOS下原始碼編譯安裝新版本核心?

在工作中,很多時候由於需要使用新的技術方案,需要較新版本的核心來支援新的功能,而CentOS系統自帶的核心版本普遍都比較舊,因此我們需要對系統的核心進行升級,安裝新版的核心。在此,以CentOS 7系統為例,對編譯安裝最新版核心的過程做如下總結:

1、下載最新穩定版的核心原始碼套件到 /usr/local/ src ,並解壓縮到目前目錄

如何在CentOS下源碼編譯安裝新版本內核

#2、解壓縮核心原始碼套件

如何在CentOS下源碼編譯安裝新版本內核

3、從/boot 目錄將現有版本的核心編譯config設定檔拷貝過來到放到新的核心原始碼解壓縮目錄內並重新命名為.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目錄拷貝原核心的config檔過來主要是為了方便,這個檔案保存了在安裝系統時核心所安裝的模組設定資訊(否則需要重新手動指定每一個模組的編譯配置)。

4、安裝依賴包

安裝開發工具包組

[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,開啟文字介面的編譯選項選單窗口,可以對核心載入的模組編譯選項進行調整,如修改編譯後的核心名稱、新加入之前系統缺少的模組等。

修改核心名稱:

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

此處修改核心名稱為 5.2.11-001.el7.x86_64

如何在CentOS下源碼編譯安裝新版本內核

如何在CentOS下源碼編譯安裝新版本內核

新新增NTFS檔案系統支援模組:

如何在CentOS下源碼編譯安裝新版本內核

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

建議選擇以模組方式(M選項)編譯。 (*號則是以靜態方式編譯打包進內核檔案中,若新加入的模組較多,會導致內核檔案體積增加)

6、編譯核心

[root@localhost linux-5.2.11]# make -j 4  #根据CPU核数开启多线程编译以加快编译速度

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

如果編譯開始提示錯誤,則可能需要預先安裝對應的元件包,例如:

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

根據對應的錯誤提示,yum 方式安裝對應的元件包,部分元件包在epel來源,所以需要預先配置epel來源倉庫。

7、編譯安裝模組

編譯完成後執行make modules_install 安裝核心模組

[root@localhost linux-5.2.11]# make modules_install
8、安裝核心核心檔案

[root@localhost linux-5.2.11]# make install
###reboot重啟######如需將新版本內核設定為預設啟動內核,可以使用此指令###
grub2-set-default 0  #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段
###重啟進入系統後,檢視一下內核版本,已經是最新的5.2.11版本###
[root@localhost ~]# uname -r
5.2.11-001.el7.x86_64
###至此,整個核心的編譯安裝過程完成。 ######相關參考:######centOS教學#########

以上是如何在CentOS下源碼編譯安裝新版本內核的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn