Centos7.9 升级内核,安装RTX5880驱动

 

系统镜像下载

https://vault.centos.org/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso

系统安装步骤省略

开始安装显卡驱动

远程登录查看内核

[root@192 ~]# uname -a
Linux 192.168.119.166 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@192 ~]# rpm -qa | grep kernel
kernel-devel-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-headers-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-tools-3.10.0-1160.el7.x86_64
[root@192 ~]#

更换阿里云源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

安装依赖

yum -y install epel-release wget make cmake  dkms  gcc gcc-c++  elfutils-libelf-devel -y bzip2-devel libffi-devel zlib-devel

yum -y groupinstall "Development Tools"

 

 屏蔽nouveau

启动模式修改编辑 /lib/modprobe.d/dist-blacklist.conf

#注释 nvidiafb
#blacklist nvidiafb
#添加以下两行
blacklist nouveau
options nouveau modeset=0

重建initramfs
 

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)  --force 

 

切换命令行界面

查看当前启动模式
systemctl  get-default
 
设置为命令行模式(重启后生效)
systemctl set-default multi-user.target


立即切换命令行模式执行

init 3 

执行重启

reboot

驱动下载:

驱动下载链接

 

https://cn.download.nvidia.com/XFree86/Linux-x86_64/570.133.07/NVIDIA-Linux-x86_64-570.133.07.run

 

开始执行驱动安装

bash NVIDIA-Linux-x86_64-570.133.07.run

安装英伟达驱动提示报错,内核版本太低无法安装最新的驱动如下图

日志信息如下:

内核版本最低要求为4.15 

/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/common/inc/nv-linux.h:64:2: error: #error "This driver does not support kernels older than Linux 4.15!"

 #error "This driver does not support kernels older than Linux 4.15!"

摘录日志部分如下

make[3]: *** [/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/nvlink_linux.o] Error 1
  CC [M]  /tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/procfs_nvswitch.o
make[3]: *** [/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/linux_nvswitch.o] Error 1
  CC [M]  /tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/i2c_nvswitch.o
In file included from /tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/linux_nvswitch.h:28:0,
                 from /tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/procfs_nvswitch.c:24:
/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/common/inc/nv-linux.h:64:2: error: #error "This driver does not support kernels older than Linux 4.15!"
 #error "This driver does not support kernels older than Linux 4.15!"
  ^
In file included from /tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/linux_nvswitch.h:28:0,
                 from /tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/i2c_nvswitch.c:24:
/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/common/inc/nv-linux.h:64:2: error: #error "This driver does not support kernels older than Linux 4.15!"
 #error "This driver does not support kernels older than Linux 4.15!"
  ^
make[3]: *** [/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/procfs_nvswitch.o] Error 1
make[3]: *** [/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel/nvidia/i2c_nvswitch.o] Error 1
make[3]: Target `__build' not remade because of errors.
make[2]: *** [_module_/tmp/selfgz1974/NVIDIA-Linux-x86_64-570.133.07/kernel] Error 2
make[2]: Target `modules' not remade because of errors.
make[1]: *** [sub-make] Error 2
make[1]: Target `modules' not remade because of errors.
make[1]: Leaving directory `/usr/src/kernels/3.10.0-1160.el7.x86_64'
make: *** [modules] Error 2
ERROR: The nvidia kernel module was not created.
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

yum更新kernel均失败

由于centos停服,使用yum源安装内核均失败,更换思路下载单独的rpm包手动升级内核

5.4和4.18 下载地址:

Index of /elrepo/kernel/el7/x86_64/RPMS

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.86-1.el7.elrepo.x86_64.rpm
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-5.4.86-1.el7.elrepo.x86_64.rpm
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.18.0-1.el7.elrepo.x86_64.rpm

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.18.0-1.el7.elrepo.x86_64.rpm

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.18.0-1.el7.elrepo.x86_64.rpm

升级内核5.4.86

 

内核包下载地址:

Index of /elrepo/kernel/el7/x86_64/RPMS

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.86-1.el7.elrepo.x86_64.rpm
wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-5.4.86-1.el7.elrepo.x86_64.rpm

安装kernel-lt-headers包提示报错,

[root@192 ~]# rpm -ivh kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm
warning: kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
error: Failed dependencies:
        kernel-headers < 5.4.86-1.el7.elrepo conflicts with kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64

解决办法删除原有的kernel-lt-headers,重新执行安装即可

sudo yum remove kernel-headers

重新执行安装

[root@192 ~]# rpm -ivh kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm
warning: kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID baadae52: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:kernel-lt-headers-5.4.86-1.el7.el################################# [100%]
[root@192 ~]# rpm -qa | grep kernel
kernel-devel-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
kernel-lt-devel-5.4.86-1.el7.elrepo.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-lt-5.4.86-1.el7.elrepo.x86_64
kernel-tools-3.10.0-1160.el7.x86_64
[root@192 ~]#

设置新的内核启动默认


sudo grub2-mkconfig -o /boot/grub2/grub.cfg
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
sudo grub2-set-default 0
sudo reboot

执行结果如下:

[root@192 ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.4.86-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-ff5d305d1a134e4191b7354d567cff1a) 7 (Core)
[root@192 ~]# sudo grub2-set-default 0
[root@192 ~]# sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.86-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.4.86-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-ff5d305d1a134e4191b7354d567cff1a
Found initrd image: /boot/initramfs-0-rescue-ff5d305d1a134e4191b7354d567cff1a.img
done
[root@192 ~]#

开始安装显卡驱动

升级内核后,重新执行安装依赖

yum -y install epel-release wget make cmake  dkms  gcc gcc-c++  elfutils-libelf-devel -y bzip2-devel libffi-devel zlib-devel

yum -y groupinstall "Development Tools"

切换命令行模式执行init 3 ,开始执行驱动安装

bash NVIDIA-Linux-x86_64-570.133.07.run

 重启重新执行驱动安装,侯仍然报错,

ERROR: The nvidia kernel module was not created.

升级内核到4.18内核

仍然失败,尝试升级到4.18内核,重做系统后,重新升级内核

下载地址:

Index of /elrepo/kernel/el7/x86_64/RPMS

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.18.0-1.el7.elrepo.x86_64.rpm

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.18.0-1.el7.elrepo.x86_64.rpm

wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.18.0-1.el7.elrepo.x86_64.rpm

开始安装内核包

[root@localhost ~]# rpm -ivh kernel-ml-*
警告:kernel-ml-4.18.0-1.el7.elrepo.x86_64.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID baadae52: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:kernel-ml-headers-4.18.0-1.el7.el################################# [ 33%]
   2:kernel-ml-devel-4.18.0-1.el7.elre################################# [ 67%]
   3:kernel-ml-4.18.0-1.el7.elrepo    ################################# [100%]
[root@localhost ~]#

设置默认内核

[root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (4.18.0-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
2 : CentOS Linux (0-rescue-a7392526ed57441c9c9f83af98d34f2b) 7 (Core)
[root@localhost ~]# sudo grub2-set-default 0
[root@localhost ~]# sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.18.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.18.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-a7392526ed57441c9c9f83af98d34f2b
Found initrd image: /boot/initramfs-0-rescue-a7392526ed57441c9c9f83af98d34f2b.img
done
[root@localhost ~]#

 升级内核后,重新执行安装依赖

yum -y install epel-release wget make cmake  dkms  gcc gcc-c++  elfutils-libelf-devel -y bzip2-devel libffi-devel zlib-devel

yum -y groupinstall "Development Tools"

 

重启后验证内核

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-1.el7.elrepo.x86_64 #1 SMP Sun Aug 12 18:04:19 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# rpm -qa | grep kernel
kernel-ml-headers-4.18.0-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-ml-4.18.0-1.el7.elrepo.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-tools-3.10.0-1160.el7.x86_64
kernel-ml-devel-4.18.0-1.el7.elrepo.x86_64
[root@localhost ~]#

 

重新执行驱动安装

 

bash NVIDIA-Linux-x86_64-570.133.07.run

 

 

安装成功

 

总结

centos7.9默认的内核无法安装nvidia最新的2025.3.18驱动NVIDIA-Linux-x86_64-570.133.07

5.4.6版本的内核安装也会失败,用4.15以上版本4.18安装成功。

 

 

 

淘宝小店,欢迎你的光临,可定制你的需求

https://shop340822098.taobao.com/

 image

posted @ 2025-04-12 22:27  IT杂物铺  阅读(19)  评论(0)    收藏  举报  来源