系统镜像下载
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 ~]#
屏蔽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
更换阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
安装依赖
yum install gcc gcc-c++ make dkms elfutils-libelf-devel -y
驱动下载:
切换命令行模式执行init 3 ,开始执行驱动安装
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.
升级内核
升级到5.4.86
内核包下载地址:
Index of /elrepo/kernel/el7/x86_64/RPMS
http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.86-1.el7.elrepo.x86_64.rpm
http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.86-1.el7.elrepo.x86_64.rpm
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 ~]#
设置新的内核启动默认
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
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 install gcc gcc-c++ make dkms elfutils-libelf-devel -y
切换命令行模式执行init 3 ,开始执行驱动安装
bash NVIDIA-Linux-x86_64-570.133.07.run