1. NPU驱动环境搭建与验证
任务说明
本案例目标是在目标Linux系统上完成NPU驱动的安装,并通过系统命令验证驱动模块已正确加载、设备节点已生成。以下操作以瑞芯微RK3588平台(NPU为RKNN)为例,其他平台请按厂商手册替换驱动包与设备名。
前置条件
- 目标系统:Linux(内核版本与驱动包匹配,例如RK3588使用内核5.10或6.1)
- 已获取对应平台的NPU驱动deb包或ko文件(如
rknn-driver_*.deb) - 具备root权限
安装驱动
# 1. 确认系统架构与内核版本
uname -m
uname -r
# 2. 安装驱动包(以deb为例)
sudo dpkg -i rknn-driver_2.0.0_arm64.deb
# 3. 若依赖缺失,执行修复
sudo apt-get install -f -y
# 4. 加载驱动模块(若安装脚本未自动加载)
sudo modprobe rknpu
# 5. 设置开机自动加载(可选)
echo "rknpu" | sudo tee /etc/modules-load.d/rknpu.conf
验证驱动加载
# 1. 检查内核模块是否已加载
lsmod | grep rknpu
# 2. 检查设备节点是否生成
ls -l /dev/rknpu*
# 3. 查看内核日志中的驱动初始化信息
dmesg | grep -i rknpu
验证判定标准
lsmod输出中包含rknpu模块,且状态为Used by不为空或至少模块存在/dev/rknpu设备节点存在,权限为crw-------或类似字符设备dmesg日志中出现类似rknpu: RKNPU driver probed或rknpu: device registered的信息,无failed/error关键字
预期输出示例
$ lsmod | grep rknpu
rknpu 24576 0
$ ls -l /dev/rknpu*
crw------- 1 root root 10, 123 Jan 1 00:00 /dev/rknpu
$ dmesg | grep -i rknpu
[ 3.456789] rknpu: RKNPU driver v2.0.0 initialized
故障排查指引
- 若
modprobe失败,先执行sudo depmod -a重新生成模块依赖,再尝试加载 - 若设备节点未生成,确认内核配置
CONFIG_RKNPU已启用,或检查是否有其他驱动占用相同主设备号 - 若
dmesg报firmware not found,需将对应固件文件(如rknn.bin)复制到/lib/firmware/目录
完成以上步骤并全部检查点通过后,NPU驱动环境即搭建成功,可继续后续推理引擎配置案例。