一、yum安裝
1、導(dǎo)入倉庫源
rpm--import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm-Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2、查看可安裝的軟件包
yum--enablerepo="elrepo-kernel"list--showduplicates|sort-r|grep
kernel-ml.x86_64
3、選擇ML或LT版本安裝
無指定版本默認(rèn)安裝最新
安裝ML版本
yum--enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml-y
安裝LT版本,K8S全部選這個
yum--enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt-y
4、查看現(xiàn)有內(nèi)核啟動順序
awk-F\''$1=="menuentry"{print$2}'/etc/grub2.cfg
5、修改默認(rèn)啟動項
xxx為序號數(shù)字,以指定啟動列表中第x項為啟動項,x從0開始計數(shù)
grub2-set-default xxxx
例如設(shè)置以4.4內(nèi)核啟動
則直接輸入“grub2-set-default 0”,下次啟動即可從4.4啟動
查看內(nèi)核啟動序號
[root localhost~]awk-F\''$1=="menuentry"{print$2}'/etc/grub2.cfg
CentOS Linux(4.4.179-1.el7.elrepo.x86_64)7(Core)
CentOS Linux(3.10.0-693.el7.x86_64)7(Core)
CentOS Linux(0-rescue-6d4c599606814867814f1a8eec7bfd1e)7(Core)
設(shè)置啟動序號
[root localhost~]grub2-set-default 0
重啟
reboot
檢查內(nèi)核版本
uname-r
二、RPM安裝
檢查內(nèi)核版本
uname-r
1、查找版本
因ELRepo源都是最新版本,所以舊版本內(nèi)核只能手動下載。
查找kernel rpm歷史版:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2、共需要下載三個類型rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3、安裝內(nèi)核
rpm-ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm-ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
或者
#一鍵安裝所有
rpm-Uvh*.rpm
4、確認(rèn)已安裝內(nèi)核版本
[root localhost~]#rpm-qa|grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64
5.設(shè)置啟動
查看啟動順序
[root localhost~]#awk-F\''$1=="menuentry"{print$2}'/etc/grub2.cfg
CentOS Linux(4.4.215-1.el7.elrepo.x86_64)7(Core)
CentOS Linux(4.9.9-1.el7.elrepo.x86_64)7(Core)
CentOS Linux(3.10.0-957.el7.x86_64)7(Core)
CentOS Linux(0-rescue-b91f945269084aa98e8257311ee713c5)7(Core)
設(shè)置啟動順序
[root localhost~]#grub2-set-default 0
重啟生效
[root localhost~]#reboot
三、源碼安裝
1、安裝核心軟件包
yum install-y gcc make git ctags ncurses-devel openssl-devel
yum install-y bison flex elfutils-libelf-devel bc
2、創(chuàng)建內(nèi)核編譯目錄
使用home下的kernelbuild目錄
mkdir~/kernelbuild
3、獲取內(nèi)核源碼
清華大學(xué)鏡像站:https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
其他源碼安裝包下載地址:https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
這兩個格式都可以的,tar.xz壓縮率更高,文件更小。
在線下載:wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4、解壓內(nèi)核代碼
將其解壓后進(jìn)入源碼目錄:
tar-xvJf linux-4.17.11.tar.xz
為確保內(nèi)核樹干凈,進(jìn)入內(nèi)核目錄并執(zhí)行make mrproper命令:
cd linux-4.17.11
make clean&&make mrproper
5、內(nèi)核配置
復(fù)制當(dāng)前的內(nèi)核配置文件
config-3.10.0-862.el7.x86_64是我當(dāng)前環(huán)境的內(nèi)核配置文件,根據(jù)實際情況修改
cp/boot/config-3.10.0-862.el7.x86_64.config
配置
y是啟用,n是禁用,m是需要時啟用.
make menuconfig:老的ncurses界面,被nconfig取代
make nconfig:新的命令行ncurses界面
6、編譯和安裝
編譯內(nèi)核
如果你是四核的機(jī)器,x可以是8
make-j x
安裝內(nèi)核
編譯完內(nèi)核后安裝:Warning:從這里開始,需要root權(quán)限執(zhí)行命令,否則會失敗.
make modules_install install
7、設(shè)置啟動
查看啟動順序
[root localhost~]#awk-F\''$1=="menuentry"{print$2}'/etc/grub2.cfg
CentOS Linux(4.17.11-1.el7.elrepo.x86_64)7(Core)
CentOS Linux(4.9.9-1.el7.elrepo.x86_64)7(Core)
CentOS Linux(3.10.0-957.el7.x86_64)7(Core)
CentOS Linux(0-rescue-b91f945269084aa98e8257311ee713c5)7(Core)
設(shè)置啟動順序
[root localhost~]#grub2-set-default 0
重啟生效
[root localhost~]#reboot