Table of Contents
RHEL 10 이나 Rocky 10 서버에 Nvidia 에 3070 그래픽카드를 장착했다. AI 학습을 할 수 있는 장비를 마련한건데, RHEL 10 에 물려 있다. Nvidia 드라이버 설치가 그렇게 쉬운게 아니여서 기록으로 남긴다.
Nvidia 정식 저장소
Nvidia 는 RHEL 10 을 위한 저장소를 제공한다. RHEL 10 이 처음 나왔을때에는 없었는데, 최근에 생겼다. 이 저장소를 추가하면 쉽게 설치가 가능하다.
1 2 |
$ sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel10/$(uname -i)/cuda-rhel10.repo Adding repo from: http://developer.download.nvidia.com/compute/cuda/repos/rhel10/x86_64/cuda-rhel10.repo |
RHEL 의 Code Ready Build 저장소도 활성화를 해주고, epel-release 저장소도 설치해 준다.
1 2 |
$ sudo dnf config-manager --enable crb $ dnf install epel-release |
Kernel 헤더와 개발 라이브러리 설치
커널 헤더와 개발 라이브러리를 설치해야 한다.
1 |
$ sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms |
Nvidia 드라이버 설치
이제 Nvidia 드라이버를 설치해야 한다. 설치는 커널이 교체될때마다 커널에 맞게 컴파일이 되도록 dkms 로 설치를 한다.
1 2 3 4 |
# Maxwell, Pascal, Volta 아키텍쳐일 경우 설치 $ sudo dnf install cuda-drivers # ELIF Turing $ sudo dnf install nvidia-open |
3070 은 AMPERE 아키텍쳐이기 때문에 nvidia-open 으로 설치를 해준다. 하지만 실제로는 cuda-drivers 로 설치해야지만 동작이 됐다.
그리고 만일 Secure Boot 를 사용중이고 dkms 키가 UEFI 에 없다면 다음과 같이 해준다.
1 2 |
$ sudo mokutil --import /var/lib/dkms/mok.pub EFI variables are not supported on this system |
Secure Boot 를 사용하지 않는다면 위와같은 메시지가 나올 수 있다. 그냥 넘어간다.
Disable nouveau
리눅스에 그래픽 관련해서 nouveau 가 활성화 된 경우가 많이 있는데, 이 경우 드라이버가 충돌날 수 있다. 이것을 비활성화 해준다.
1 2 3 |
$ sudo echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf $ sudo echo 'omit_drivers+=" nouveau "' | sudo tee /etc/dracut.conf.d/blacklist-nouveau.conf $ sudo dracut --regenerate-all --force |
리붓
리붓 해준다.
저장소 비활성화
드라이버 설치를 위해서 활성화 했던 저장소를 비활성화 해준다.
1 2 |
$ sudo dnf config-manager --disable crb $ sudo dnf config-manager --disable epel |