Cách cài driver NVIDIA trên Kali Linux

Tài liệu này giải thích cách cài driver NVIDIA trên Kali Linux và hỗ trợ CUDA, cho phép tích hợp với các công cụ kiểm tra xâm nhập phổ biến.

Điều kiện tiên quyết

Trước tiên, bạn sẽ cần đảm bảo rằng hệ thống của bạn được nâng cấp hoàn toàn và card của bạn hỗ trợ CUDA.

Lưu ý: Các GPU có khả năng tính toán CUDA> 5.0 được khuyến nghị, nhưng các GPU có công suất thấp hơn sẽ vẫn hoạt động.

apt update && apt dist-upgrade -y && reboot

Hãy xác định chính xác GPU đã được cài đặt và kiểm tra các mô-đun hạt nhân đang sử dụng.

[email protected]:~# lspci -v
01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1) (prog-if 00 [VGA controller])
Subsystem: ZOTAC International (MCO) Ltd. GM204 [GeForce GTX 970]
Region 1: Memory at e0000000 (64-bit, prefetchable) [size=256M]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00
Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024
Kernel driver in use: nouveau
Kernel modules: nouveau

Cài đặt

Khi hệ thống đã khởi động lại, chúng tôi sẽ tiến hành cài đặt OpenCL ICD Loader, Drivers và bộ công cụ CUDA.

apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit

Trong khi cài đặt các driver, hệ thống đã tạo ra các mô-đun hạt nhân mới, do đó cần khởi động lại một lần nữa.

Xác minh cài đặt driver

Bây giờ hệ thống đã sẵn sàng hoạt động, chúng ta cần phải xác minh rằng các driver đã được nạp một cách chính xác. Chúng ta có thể nhanh chóng xác minh điều này bằng cách chạy công cụ nvidia-smi.\

[email protected]:~# nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 970 Off | 0000:01:00.0 On | N/A |
| 36% 46C P0 47W / 325W | 200MiB / 4036MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 692 G /usr/lib/xorg/Xorg 198MiB |
+-----------------------------------------------------------------------------+

Với kết quả hiển thị driver và GPU một cách chính xác, giờ đây chúng ta có thể đi sâu vào benchmarking. Trước khi tiếp tục, hãy kiểm tra kỹ để chắc chắn rằng hashcatCUDA đang làm việc cùng lúc.

[email protected]:~# hashcat -I
OpenCL Info:
Platform ID #1
Vendor : NVIDIA Corporation
Name : NVIDIA CUDA
Version : OpenCL 1.2 CUDA 8.0.0
Device ID #1
Type : GPU
Vendor ID : 32
Vendor : NVIDIA Corporation
Name : GeForce GTX 970
Version : OpenCL 1.2 CUDA
Processor(s) : 13
Clock : 1240
Memory : 1009/4036 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 375.26

Có vẻ như mọi thứ đang hoạt động, hãy tiếp tục và chạy thử nghiệm benchmark.

Benchmarking

[email protected]:~# hashcat -b
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: Geforce GTX 970, 1009/4095 MB allocatable, 13MCU

Hashtype: MD5
Speed.Dev.#1.....: 10443.1 MH/s
Hashtype: SHA1
Speed.Dev.#1.....: 3349.8 MH/s
Hashtype: SHA256
Speed.Dev.#1.....: 1321.8 MH/s

Có vô số cấu hình để cải thiện tốc độ, không được đề cập trong hướng dẫn này. Chúng tôi khuyến khích bạn đọc thêm tài liệu cho từng trường hợp cụ thể.

Xử lý sự cố

Trong quá trình thiết lập, mọi thứ có thể diễn ra theo kế hoạch, chúng ta sẽ cài đặt clinfo để biết thông tin khắc phục sự cố chi tiết.

apt install -y clinfo

Có thể cần phải kiểm tra các gói bổ sung có thể xung đột với thiết lập của mình. Trước tiên, hãy kiểm tra xem OpenCL Loader nào đã cài đặt. NVIDIA OpenCL LoaderOpenCL Loader chung chung sẽ đều hoạt động trên hệ thống.

[email protected]:~# dpkg -l |grep -i icd
ii nvidia-egl-icd:amd64 375.26-2 amd64 NVIDIA EGL installable client driver (ICD)
ii nvidia-opencl-icd:amd64 375.26-2 amd64 NVIDIA OpenCL installable client driver (ICD)
ii nvidia-vulkan-icd:amd64 375.26-2 amd64 NVIDIA Vulkan installable client driver (ICD)
ii ocl-icd-libopencl1:amd64 2.2.11-1

Nếu mesa-opencl-icd được cài đặt chạy:

apt remove mesa-opencl-icd

Vì việc cài đặt bộ nạp ICD tương thích đã được xác nhận, chúng ta có thể dễ dàng xác định loader nào hiện đang được sử dụng.

[email protected]:~# clinfo | grep -i "icd loader"
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.11
ICD loader Profile OpenCL 2.1

Như dự kiến, thiết lập đang sử dụng loader nguồn mở đã được cài đặt trước đó. Bây giờ, hãy lấy một số thông tin chi tiết về hệ thống.

Chúng ta sẽ sử dụng nvidia-smi một lần nữa, nhưng với một kết quả chi tiết hơn nhiều.

[email protected]:~# nvidia-smi -i 0 -q
Driver Version : 375.26
Attached GPUs : 1
GPU 0000:01:00.0
Product Name : GeForce GTX 970
Product Brand : GeForce
Display Mode : Enabled
Display Active : Enabled
Persistence Mode : Disabled
Accounting Mode : Disabled
Accounting Mode Buffer Size : 1920
Temperature
GPU Current Temp : 47 C
GPU Shutdown Temp : 96 C
GPU Slowdown Temp : 91 C
Clocks
Graphics : 1101 MHz
SM : 1101 MHz
Memory : 3523 MHz
Video : 1012 MHz
Processes
Process ID : 692
Type : G
Name : /usr/lib/xorg/Xorg
Used GPU Memory : 198 MiB

Có vẻ như GPU đang được nhận diện chính xác, vì vậy hãy sử dụng glxinfo để xác định xem đã bật 3D Rendering chưa.

[email protected]:~# glxinfo | grep -i "direct rendering"
direct rendering: Yes

Sự kết hợp của những công cụ này sẽ hỗ trợ quá trình xử lý sự cố rất nhiều. Nếu bạn vẫn gặp sự cố, chúng tôi khuyên bạn nên tìm kiếm các thiết lập tương tự và bất kỳ yếu tố nào có thể ảnh hưởng đến hệ thống.

Xem thêm: