CentOS7 升级最新内核

2022-10-27 15:29:06 浏览数 (1)

yum 方式升级到最新版

导入 elrepo 仓库

代码语言:javascript复制
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

列出可用的内核相关包

代码语言:javascript复制
# kernel-lt:长期支持版本,用于修复旧版内核的 BUG,这些内核只会修复重大 BUG,并且不会频繁发布版本。
# kernel-ml:最新稳定版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

安装最新内核

代码语言:javascript复制
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel kernel-ml-tools

查看系统可用内核

代码语言:javascript复制
awk -F' '$1=="menuentry " {print i   " : " $2}' /boot/grub2/grub.cfg

查看系统当前内核启动顺序

代码语言:javascript复制
grub2-editenv list

修改默认内核启动项

代码语言:javascript复制
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统

代码语言:javascript复制
reboot

查看系统内核版本

代码语言:javascript复制
uname -r

源码编译安装新内核

安装依赖

代码语言:javascript复制
yum install -y bison flex elfutils-libelf-devel bc gcc make git ctags ncurses-devel openssl-devel

获取内核源码,解压

代码语言:javascript复制
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.16.17.tar.xz
tar xvf linux-5.16.17.tar.xz
cd linux-5.16.17
make clean
make mrproper		# 清理内核源码目录

配置内核

代码语言:javascript复制
make menuconfig		# 老的ncurses界面,被nconfig取代
make nconfig		# 新的命令行ncurses界面

编译内核

代码语言:javascript复制
make -j 4

安装内核模块

代码语言:javascript复制
make modules_install		# 安装模块,安装完毕后,到/lib/modules/目录下查看,相当于把内核配置文件安装在/lib/modules/目录内

安装内核相关文件

代码语言:javascript复制
make install

设置启动顺序

代码语言:javascript复制
awk -F' '$1=="menuentry " {print $2}' /etc/grub2.cfg
grub2-set-default 0

重启系统

代码语言:javascript复制
reboot

查看系统内核版本

代码语言:javascript复制
uname -r

卸载新内核

代码语言:javascript复制
删除/lib/modules/目录下对应版本的库文件
删除/usr/src/linux/目录下的源码和压缩文件
删除/boot/启动的内核和内核镜像文件
删除grub.cfg配置文件新内核对应的条目

0 人点赞