Centos7安装高版本内核

背景

    买到的设备安装Centos7系统,但是新的处理器已经不支持低版本的Linux内核了。而且在 CentOS 使用过程中,高版本的应用环境可能需要更高版本的内核才能支持,所以难免需要升级内核。

内核种类

关于内核种类:

kernel-ml:kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本

kernel-lt:kernel-lt 中的lt是英文【 long term support 】的缩写,elrepo-kernel中罗列出来的长期支持版本。ML 与 LT 两种内核类型版本可以共存,但每种类型内核只能存在一个版本。

升级步骤

    先在机器上安装好Centos7, 然后正常启动会遇上Kernel panic无法启动的问题.这个问题的主要原因是Centos7默认的Kernel 3.10不支持Ryzen, 需要安装5.2以上版本才能支持.

    由于系统无法正常启动,这个时候需要用iso启动一个Rescue系统进去安装内核。用Centos7的Rescue或者用systemrescuecd都可以.

启动救援模式

    当CentOS操作系统崩溃,无法正常启动时,可以通过救援模式或者紧急模式进行系统登录。

启动界面

    启动CentOS, 当出现下面界面时,按e进入编辑界面。

修改参数:救援模式

    在编辑界面里,加入参数:systemd.unit=rescue.target ,然后Ctrl-X启动进入救援模式。

修改参数:紧急模式

    在编辑界面里,加入参数:systemd.unit=emergency.target, 然后Ctrl-X进入紧急模式。

模式切换

    救援模式与紧急模式可以相互切换:

Switch to Emergency mode(target)
To switch to Emergency target, simply run following command as root:

# systemctl emergency

Broadcast message from root@geeklab on pts/1 (Mon 2016-08-17 00:44:58 EDT):

The system is going down to emergency mode NOW!

Switch to Rescue mode(target)
To switch to rescue target, simply run following command as root:

# systemctl rescue

Broadcast message from root@geeklab on pts/0 (Mon 2016-08-17 00:22:44 EDT):

The system is going down to rescue mode NOW!

​

安装内核

    启动好Rescue后的处理步骤大致如下:

导入yum源
# 1、更新yum源仓库
yum -y update
# 2、导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 3、安装ELRepo仓库的yum源
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 4、查询可用内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
挂载升级
mount /dev/磁盘分区/mnt ; 
cd /mnt
mount -o bind /dev dev/
mount -o bind /sys sys/
mount -o bind /proc proc/
mount -o bind /sys sys/
chroot /mnt

    chroot后就可以用yum进行安装高版本的内核了.

    如果是chroot进去后可以用mknod创建文件:

mknod -m 666 /dev/random c 1 8
mknod -m 666 /dev/urandom c 1 9

1. 查看版本

        查看当前内核版本信息

uname -a
# 仅查看版本信息
uname -r
#  通过绝对路径查看查看版本信息及相关内容
cat /proc/version
#  通过绝对路径查看查看版本信息
cat /etc/redhat-release

2. 选择安装

     选择 ML 或 LT 版本安装

# 安装 最新版ML 版本
# yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y
# 安装 最新版LT 版本
# yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y

# 不带版本号就安装最新版本,这里我们安装 LT 5.4.225-1.el7.elrepo版本
# 安装 LT 版本,K8S全部选这个
yum --enablerepo=elrepo-kernel install kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64 kernel-lt-5.4.225-1.el7.elrepo.x86_64 -y
直接升级

    不选择版本,Centos7.8后可以安装官方的5.4内核:

yum -y update centos-release
yum install -y yum-utils epel-release
yum-config-manager --enable centos-kernel
yum install kernel -y

    安装完成后需要设置 grub2,即内核默认启动项。

设置启动

    内核安装好后,需要设置 grub2即设置为默认启动选项并重启后才会生效。

    查看系统上的所有可用内核:

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

刚刚安装的内核即0 : CentOS Linux (5.4.225-1.el7.elrepo.x86_64) 7 (Core)
我们需要把grub2默认设置为0
可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置

方法1:通过 grub2-set-default 0 命令设置

grub2-set-default 0

方法2:编辑 /etc/default/grub 文件

# 将GRUB_DEFAULT设置为0,如下
vim /etc/default/grub

生成配置

    生成 grub 配置文件。

    GRUB2 的配置文件通常为 /boot/grub2/grub.cfg,虽然此文件很灵活,但是我们并不需要手写所有内容。可以通过程序自动生成,或是直接修改生成之后的文件。通常情况下简单配置文件 /etc/default/grub ,然后用程序 grub-mkconfig 来产生文件 grub.cfg

grub2-mkconfig -o /boot/grub2/grub.cfg

或

grub2-mkconfig --output /boot/grub2/grub.cfg

一样的。

重启

# 重启(默认30秒)
reboot
# 立即重启
reboot -h now

验证

验证是否升级成功

uname -a
# 仅查看版本信息
uname -r
#  通过绝对路径查看查看版本信息及相关内容
cat /proc/version
#  通过绝对路径查看查看版本信息
cat /etc/redhat-release

删除旧内核(可选)

    查看系统中的全部内核,确认升级完重启, 可以卸载3.10的内核了.

rpm -qa | grep kernel
# yum remove kernel-版本
yum remove kernel-3.10.0-1160.el7.x86_64 kernel-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64

或者

yum remove $(rpm -qa | grep kernel | grep  "3\.10")

补充:

也可以离线rpm安装:

查找 kernel rpm 历史版本:Coreix Mirrors

下载内核 RPM

wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.225-1.el7.elrepo.x86_64.rpm

安装内核

rpm -ivh kernel-lt-5.4.225-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64.rpm

确认已安装内核版本

rpm -qa | grep kernel

之后步骤如上。

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值