RBLN 드라이버 설치 가이드¶
이 문서는 RBLN 드라이버를 설치하는 방법을 설명합니다.
설치 전 준비¶
드라이버 설치 전 아래 항목을 확인합니다.
지원 배포판과 커널 확인¶
배포판 버전과 커널이 지원 버전 문서의 요구사항을 만족하는지 확인합니다.
출력에서 다음 항목을 확인합니다.
- Operating System(배포판 및 버전)
- Kernel(실행 중인 커널 버전)
- Architecture(runfile과 같아야 함)
Ubuntu 커널 선택
Ubuntu 22.04: GA 커널은 5.15로 드라이버가 지원하지 않습니다. 드라이버를 설치하기 전에 HWE 커널을 설치해야 합니다. 재부팅은 설치 전 재부팅 단계에서 한 번에 합니다.
1 | |
Ubuntu 24.04: GA 커널만 지원합니다. linux-generic-hwe-24.04를 설치하면 지원하지 않는 커널로 업그레이드됩니다.
제품별 준비¶
호스트에 장착된 카드에 맞는 탭을 선택합니다.
RHEL 10.2 호스트에서 pciehp 분리¶
같은 PCIe 스위치 아래에 연결된 NPU 여러 장이 동시에 리셋되면 링크가 오래 끊겨, 핫플러그 드라이버 pciehp가 사용 중인 카드를 커널에서 제거할 수 있습니다. 이를 막으려면 RHEL 10.2 호스트에서는 설치 프로그램을 실행하기 전에 NPU가 연결된 다운스트림 포트에서 pciehp를 분리해야 합니다. 다른 OS를 쓰는 호스트라면 이 단계를 건너뛰어도 됩니다.
OpenShift(RHCOS) 노드라면 이 스크립트를 실행하지 말고 OpenShift pciehp 분리 절차를 따라야 합니다. 가상 머신 환경이라면 게스트가 아니라 PCIe 스위치가 연결된 하이퍼바이저 호스트에서 실행해야 합니다.
rbln-pciehp-hook.sh를 내려받아 설치하고 적용합니다. 이 스크립트는 NPU가 연결된 다운스트림 포트에서만 pciehp를 분리합니다.
NPU가 연결된 모든 포트가 unbound로 표시되는지 확인합니다.
되돌리려면 uninstall을 실행합니다. 포트를 다시 pciehp에 연결하고, install이 배포한 파일을 모두 제거하며, 훅 스크립트가 initramfs에 들어 있었다면 initramfs를 다시 빌드합니다. 이후에는 위에서 설명한 카드 제거 문제가 다시 발생할 수 있습니다.
나머지 하위 명령과 install이 배포하는 파일은 --help에 정리되어 있습니다.
설치 전 재부팅¶
HWE 커널을 설치했거나 앞 단계에서 커널 커맨드라인을 바꿨다면 재부팅해야 합니다. 설치 프로그램은 실행 중인 커널의 커맨드라인을 검사하므로, 재부팅하지 않으면 파라미터를 추가했어도 설치가 중단됩니다.
재부팅한 뒤 커널 버전과 파라미터가 반영되었는지 확인합니다.
커널 헤더 패키지 설치¶
DKMS로 드라이버를 빌드하려면 위에서 확인한 실행 중인 커널과 버전이 같은 헤더 패키지가 필요합니다. RHEL 계열은 kernel-devel도 함께 설치해야 합니다. 아래 명령으로 설치합니다.
- Debian/Ubuntu 계열
- RHEL 계열
레거시 deb/rpm 드라이버 제거¶
3.0 이전에 배포된 rebellions deb/rpm 패키지가 설치되어 있다면 runfile을 설치하기 전에 제거해야 합니다.
- Debian/Ubuntu 계열
- RHEL 계열
드라이버 설치¶
Note
드라이버 설치 파일(*.run)은 OS 패키지 매니저로 설치되지 않으며, 별도로 제공됩니다. runfile이 없다면 지원팀에 요청한 뒤 진행합니다(참고: 문의).
runfile 이름은 rebellions-<product>-x86_64-<version>.run입니다. <product>에는 Rebel100™이면 rebel100, ATOM™이면 atom을 넣습니다.
runfile에 실행 권한이 없으면 아래와 같이 부여합니다.
root 권한으로 설치 프로그램을 실행합니다.
설치 후 작업¶
GRUB 부트 파라미터 설정¶
권장 파라미터가 빠져 있어도 설치는 중단되지 않고 보고만 되므로, 드라이버 설치 후 rbln-bios로 확인합니다.
결과가 WARNING이면 Missing에 나열된 파라미터를 커널 커맨드라인에 추가합니다.
- Debian/Ubuntu 계열
- RHEL 계열
파라미터를 추가했다면 호스트를 재부팅해야 합니다. 추가한 파라미터는 재부팅해야 적용됩니다.
udev 규칙 적용¶
설치 프로그램이 /etc/udev/rules.d/99-rebellions.rules에 udev 규칙을 생성합니다. 아래 명령으로 규칙을 다시 로드하고 적용합니다.
설치 확인¶
rbln-smi로 드라이버 로드 여부와 NPU 접근 가능 여부를 확인합니다.
예시 출력은 rbln-smi에서 확인할 수 있습니다.
문제 해결¶
Pre-installation cleanup required 메시지¶
설치 프로그램에서 "Pre-installation cleanup required"가 표시되면 이전에 설치한 드라이버 패키지가 남아 있거나 드라이버 모듈이 로드되어 있다는 뜻입니다.
출력에 표시된 정리 명령을 실행한 뒤 설치를 다시 시도합니다.
커널 모듈을 언로드할 수 없음¶
modprobe -r rebellions 실행 시 "module is in use"가 발생하면 데몬을 중지한 뒤 다시 시도합니다.
여전히 실패하면 디바이스를 사용 중인 프로세스를 확인한 뒤 종료합니다.