CentOS 7 内核 3.10 升级 6.5.2 (RPM 直装 + 源码编译)

方案一

直接基于 RPM 在线升级(简单,速度快)

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y
# (选项一)升级最新版内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
# (选项二)升级到指定版本
## 访问 https://linux.cc.iitk.ac.in/mirror/centos/elrepo/kernel/el7/x86_64/RPMS/ 查看支持版本列表
## 下载并安装(例如 6.5.2 版本)
wget https://linux.cc.iitk.ac.in/mirror/centos/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-6.5.2-1.el7.elrepo.x86_64.rpm
yum localinstall kernel-ml-6.5.2-1.el7.elrepo.x86_64.rpm
reboot

官方链接:

  1. https://elrepo.org/wiki/doku.php?id=start
  2. https://elrepo.org/wiki/doku.php?id=kernel-ml

方案二

基于源码编译 RPM 安装包(适合源码定制场景)

# 准备编译环境
yum groupinstall "Development Tools" -y && \
yum install -y \
	openssl-devel \
	rpm-build \
	redhat-rpm-config \
	asciidoc \
	hmaccalc \
	perl-ExtUtils-Embed \
	pesign \
	xmlto \
	audit-libs-devel \
	binutils-devel \
	elfutils-devel \
	elfutils-libelf-devel \
	ncurses-devel \
	newt-devel \
	numactl-devel \
	pciutils-devel \
	python-devel \
	zlib-devel
# 更新 gcc 版本
yum install centos-release-scl devtoolset-8-gcc* -y
scl enable devtoolset-8 bash

# 下载指定版本源码
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.5.2.tar.gz
tar -zxvf linux-6.5.2.tar.gz
cd linux-6.5.2

# 设置编译选项,可以直接拷贝当前机器的配置(文件名可能不同,通过 ls /boot 自己找下)
cp /boot/config-3.10.0-1160.el7.x86_64 .config
## 在如下 make menuconfig 命令弹出的界面
### (可选)选择 General setup -> Local version -> 输入自己内核的定制名字,例如 -china, 
### 如果不想改任何内容,直接保存退出
make menuconfig

# 执行编译
make INSTALL_MOD_STRIP=1 binrpm-pkg -j 8
## 编译结束会看到编译好的 RPM 包输出路径,例如 /root/rpmbuild/RPMS/x86_64

# 安装编译生成的 rpm 安装包(同时可拷贝到其它机器用于内核升级)
cd /root/rpmbuild/RPMS/x86_64
yum localinstall *
reboot

验证升级后的内核版本

uname -r
6.5.2-china

在这里插入图片描述

各版本源代码下载地址:https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/

设置默认内核版本

升级新内核后,需要在启动时选择才能使用,比较麻烦。
可以通过如下方法设置默认选中升级后的内核版本:

# 查看可以使用的内核
cat /boot/grub2/grub.cfg | grep -v rescue | grep ^menuentry
# 设置默认内核,例如 CentOS Linux (6.5.2-china) 7 (Core)
grub2-set-default 'CentOS Linux (6.5.2-china) 7 (Core)'
# 查看当前启动内核版本
grub2-editenv list
reboot

内核核心文件列表

  • /boot/config-6.5.2-china 一个文本文件,存储内核编译配置
  • /boot/vmlinuz-6.5.2-china 内核映像文件,包含操作系统内核代码和数据,内核本体
  • /boot/System.map-6.5.2-china 包含内核符号和地址信息的文本文件,主要用于内核开发、调试和系统管理
  • /boot/initramfs-6.5.2-china.img 内存中的临时根文件系统,用于在 Linux 系统启动过程中提供必要的工具和驱动程序,以便在实际的根文件系统挂载之前进行系统初始化
  • /usr/lib/modules/6.5.2-china 一个文件夹,保存与内核配套的模块,可以使用 modprobe 加载内核模块
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值