系統鏡像下載
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 1CC [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 1CC [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