centos 7升级内核(从3.10到5.17)
1、yum方式升级内核
uname -r 查看老的内核为3.10版本
1.1 用epel源升级内核
安装源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
查看可以升级的版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装稳定版本
yum --enablerepo=elrepo-kernel install kernel-ml -y
kernel-ml 稳定版本
kernel-lt 最新版本
1.2 设置内核启动顺序
查看全部内核
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
tail /boot/grub2/grubenv 查看默认启动的内核
grub2-set-default 0 设置对应的数字启动内核,0代表5.17版本
grub2-mkconfig -o /boot/grub2/grub.cfg 重新加载启动文件
reboot 重启系统
1.3 重启系统,查看内核版本是否升级
开机界面可以看到启动的内核 在系统查看内核版本
uname -r
2 、编译方式升级内核
2.1 编译gcc
因为内核编译需要用到5.1版本以上的gcc,所以需要编译升级
安装依赖
yum install -y bzip2 gcc-c++
下载源码包
wget http://mirrors.kernel.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz
tar xf gcc-6.5.0.tar.gz
cd gcc-6.5.0
./contrib/download_prerequisites 自动下载新版本的依赖包
创建输出目录
mkdir build
cd build 使用的是上上层目录,所以是2个.
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make 开始编译,CPU多个的话可以加-j个数加快编译
make install
gcc -v 查看版本安装完成
2.2 编译内核
内核版本官网:kernel
yum -y install make ncurses-devel flex bison openssl-devel elfutils-libelf-devel perl-devel bc 安装依赖
下载源码包
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.17.1.tar.gz --no-check-certificate
tar xf linux-5.17.1.tar.gz 解压
cd linux-5.17.1 进入目录
默认系统自带的/boot目录有配置文件,直接复制一份就行,用tab补全
cp /boot/config-3.10.0-1062.el7.x86_64 .config
vi .config 修改文件参数
make menuconfig 打开界面后选择exit保存退出
make 开始编译,CPU多个的话可以加-j个数加快编译
make modules_install 编译模块
make install 开始安装
查看全部内核
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
tail /boot/grub2/grubenv 查看默认启动的内核
grub2-set-default 0 设置对应的数字启动内核,0代表5.17版本
grub2-mkconfig -o /boot/grub2/grub.cfg 重新加载启动文件
reboot 重启确认内核升级
uname -r
|