当前位置:   article > 正文

linux7.4离线内核升级,CentOS 7 升级 4.19 kernel 内核

linux version 4.19.12-1.el7.elrepo.x86_64

自动挡升级

查看当前内核版本1

2uname -r

3.10.0-957.el7.x86_64

导入仓库源1

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

sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

安装指定版本 4.191

2

3

4

5yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-ml.x86_64

kernel-ml.x86_64 4.20.0-1.el7.elrepo elrepo-kernel

kernel-ml.x86_64 4.19.12-1.el7.elrepo elrepo-kernel

yum --enablerepo="elrepo-kernel" install kernel-ml-4.19.12-1.el7.elrepo.x86_64 -y

传统启动方式1

2

3

4egrep ^menuentry /boot/grub2/grub.cfg | cut -f 2 -d \'

CentOS Linux (4.19.12-1.el7.elrepo.x86_64) 7 (Core)

CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)

CentOS Linux (0-rescue-4de75e64d2d54ea49d12a4b730b2e839) 7 (Core)

1

2

3grub2-set-default 0

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

grubby --default-kernel

UEFI启动方式1

2

3egrep ^menuentry /etc/grub2-efi.cfg | cut -f 2 -d \'

grub2-set-default 0

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

查找清除旧内核1

2rpm -qa | grep kernel

yum remove x.x.x

注:R730XD 使用UEFI启动方式安装CenntOS 7。Yum 升级4.x内核,启动卡在 pstore: No deflate compression,显示器无法正常显示画面,但可以ssh连接。

1

2

3

4[ 3.489762] fb: switching to mgag200drmfb from simple

[ 3.489787] Console: switching to colour dummy device 80x25

[ 3.490140] [drm:mgag200_driver_load [mgag200]] *ERROR* can't reserve VRAM

[ 3.490145] mgag200 0000:0b:00.0: Fatal error during GPU init: -6

添加 “mgag200.modeset=0” 到内核启动参数t/etc/default/grub

生成grub配置 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg1GRUB_CMDLINE_LINUX="crashkernel=512M rd.md.uuid=8c4d9234:625591a0:e08b42e3:8b268148 rd.md.uuid=663bfa47:46d6759b:dc98c056:74407409 quiet elevator=noop numa=off mgag200.modeset=0"

下载rpm升级4.19 内核

因elrepo源都是最新版本,4.19找不到了。

kernel rpm 历史归档版本

1

2

3

4

5

6

7

8

9# wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpm

# wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.19.12-1.el7.elrepo.x86_64.rpm

wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm

rpm -ivh kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm

grub2-set-default 0

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

grubby --default-kernel

reboot

手动挡编译1

2yum groupinstall -y "Development Tools"

yum install -y ncurses-devel qt-devel

下载解压内核1

2

3

4cd /usr/src

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.12.tar.xz

tar xf linux-4.19.12.tar.xz

cd linux-4.19.12

1

2

3

4

5vim Makefile

594 ifeq ($(dot-config),1)

595 -include include/config/auto.conf

596 endif

生成编译配置

kernel 在编译时需要一个配置文件(.config),用于描述开启哪些特性等,该文件一般可通过一下四种途径获得:

使用 make menuconfig 命令开启交互模式,然后根据提示生成编译配置表

复制当前系统编译配置表,即 cp /boot/config-xxx .config;如果系统有多个内核,那么根据版本号选择最新的即可

使用 make defconfig 命令获取当前系统编译配置表,该命令会自动写入到 .config 中

使用 make oldconfig 命令根据旧的编译配置表生成新的编译配置表,并在以前没有设定过的配置时会自动开启交互模式

1cp /boot/config-3.10.0-957.1.3.el7.x86_64 .config

编译(48线程编译)1make -j 48

安装内核模块1make modules_install

安装内核1make install

安装完内核之后,会在/boot/路径下生成一个内核文件vmlinuz-4.19.12和其他几个文件。

设置启动项

这里是UEFI引导

1

2

3egrep ^menuentry /etc/grub2-efi.cfg | cut -f 2 -d \'

grub2-set-default 0

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

make mrproper && make clean

卸载编译的内核1

2

3

4rm -rf /lib/modules/4.19.12

rm -rf /boot/initramfs-4.19.12.img

rm -rf /boot/vmlinuz-4.19.12

rm -rf /boot/System.map-4.19.12

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/214539
推荐阅读
相关标签
  

闽ICP备14008679号