如何在CentOS 7上安装Linux Kernel 5.x

时间:2020-02-23 14:31:12  来源:igfitidea点击:

如何在CentOS 7上安装Linux Kernel 5.x?如何在CentOS 7上升级到Kernel 5.x?默认情况下,CentOS附带一个定制内核,以确保其完整性和与支持的硬件的兼容性。 Linux内核包括基本内核本身和许多内核模块。基本内核始终在引导过程中加载,但可以根据需要加载模块。

以下是可用于CentOS 7的内核软件包的列表:内核:该软件包包含用于单核,多核和多处理器系统的内核kernel-devel:它包含用于针对已安装的内核构建内核模块的内核头文件和makefile。 version.kernel-headers:该软件包包括C头文件,该文件用于增强Linux内核与用户空间库和程序之间的接口.kernel-tools:包含用于操纵Linux内核的工具和支持文档。perf:该软件包包含perftool ,它可以监视Linux kernel.linux-firmware的性能:它包含各种设备运行所需的固件文件。

在CentOS 7上安装Linux Kernel 5.x

可以通过构建最新版本的Kernel或者使用带有预构建软件包的RPM存储库将其安装在CentOS 7上。在本指南中,我们将使用ELRepo在CentOS 7上安装Linux Kernel5.x。

ELRepo是用于Enterprise Linux软件包的RPM存储库。它支持Red Hat Enterprise Linux(RHEL)及其衍生产品,例如Scientific Linux,CentOS等。通过运行以下命令将ELRepo存储库添加到CentOS 7.

sudo yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

添加存储库后,导入用于签名软件包的GPG密钥。

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

这将添加elrepo-kernel通道,该通道为RHEL和CentOS提供长期(kernel-lt)支持内核和最新的稳定主线内核(kernel-ml)。默认情况下未启用此通道,我们需要在CentOS 7上安装Kernel 5.x之前显式启用它。

$sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-ml
kernel-ml.x86_64                        5.4.12-1.el7.elrepo        elrepo-kernel
kernel-ml-devel.x86_64                  5.4.12-1.el7.elrepo        elrepo-kernel
kernel-ml-doc.noarch                    5.4.12-1.el7.elrepo        elrepo-kernel
kernel-ml-headers.x86_64                5.4.12-1.el7.elrepo        elrepo-kernel
kernel-ml-tools.x86_64                  5.4.12-1.el7.elrepo        elrepo-kernel
kernel-ml-tools-libs.x86_64             5.4.12-1.el7.elrepo        elrepo-kernel
kernel-ml-tools-libs-devel.x86_64       5.4.12-1.el7.elrepo        elrepo-kernel

既然我们已经确认Linux Kernel 5.x的可用性,我们可以继续安装它。

$sudo yum --enablerepo=elrepo-kernel install kernel-ml
 Loaded plugins: fastestmirror
 Loading mirror speeds from cached hostfile
 base: mirror.aptus.co.tz
 elrepo: elrepo.reloumirrors.net
 elrepo-kernel: elrepo.reloumirrors.net
 extras: mirror.aptus.co.tz
 updates: mirror.aptus.co.tz
 base                                                                                                                            | 3.6 kB  00:00:00     
 elrepo                                                                                                                          | 2.9 kB  00:00:00     
 extras                                                                                                                          | 3.4 kB  00:00:00     
 updates                                                                                                                         | 3.4 kB  00:00:00     
 (1/5): base/7/x86_64/group_gz                                                                                                   | 166 kB  00:00:00     
 (2/5): extras/7/x86_64/primary_db                                                                                               | 180 kB  00:00:00     
 (3/5): elrepo/primary_db                                                                                                        | 270 kB  00:00:02     
 (4/5): updates/7/x86_64/primary_db                                                                                              | 2.4 MB  00:00:03     
 (5/5): base/7/x86_64/primary_db                                                                                                 | 6.0 MB  00:00:06     
 Resolving Dependencies
 --> Running transaction check
 ---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be installed
 --> Finished Dependency Resolution 
 Dependencies Resolved
 =======================================================================================================================================================
  Package                          Arch                          Version                                     Repository                            Size
 Installing:
  kernel-ml                        x86_64                        5.0.0-1.el7.elrepo                          elrepo-kernel                         47 M
 Transaction Summary
 Install  1 Package
 Total download size: 47 M
 Installed size: 215 M
 Is this ok [y/d/N]: y

还要安装kernel-ml-devel,kernel-ml-headers,kernel-ml-tools,perf:

sudo yum -y --enablerepo=elrepo-kernel install kernel-ml-{devel,headers,perf}

重新启动系统:

sudo reboot

在Grub菜单中选择Kernel 5.x,以启动到CentOS 7上新安装的Kernel5.x。

使用" uname"命令确认引导的内核。

$uname -r
5.4.12-1.el7.elrepo.x86_64

在CentOS 7上将Kernel 5.x设置为默认值

编辑文件/etc/default/grub并设置GRUB_DEFAULT = 0。

GRUB_TIMEOUT=1
GRUB_DEFAULT=0 
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 elevator=noop crashkernel=auto"
GRUB_DISABLE_RECOVERY="true"

重新生成grub配置文件。

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

在CentOS 7上卸载Kernel 5.x

我们现在已在CentOS 7上安装了Linux Kernel5.x。要卸载,请启动至较早的Kernel。

确认我们启动的内核版本。

$uname -r
3.10.0-957.1.3.el7.x86_64

然后在CentOS 7上卸载Linux Kernel5.x。

$sudo yum remove kernel-ml kernel-ml-{devel,headers,perf}
 Loaded plugins: fastestmirror
 No Match for argument: kernel-ml-perf
 Resolving Dependencies
 --> Running transaction check
 ---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be erased
 ---> Package kernel-ml-devel.x86_64 0:5.0.0-1.el7.elrepo will be erased
 ---> Package kernel-ml-headers.x86_64 0:5.0.0-1.el7.elrepo will be erased
 --> Finished Dependency Resolution
 Dependencies Resolved
 =======================================================================================================================================================
  Package                                Arch                        Version                                  Repository                           Size
 Removing:
  kernel-ml                              x86_64                      5.0.0-1.el7.elrepo                       @elrepo-kernel                      215 M
  kernel-ml-devel                        x86_64                      5.0.0-1.el7.elrepo                       @elrepo-kernel                       47 M
  kernel-ml-headers                      x86_64                      5.0.0-1.el7.elrepo                       @elrepo-kernel                      4.6 M
 Transaction Summary
 Remove  3 Packages
 Installed size: 266 M
 Is this ok [y/N]: y