1. NPU驱动环境搭建与验证

{'id' 学习卡片

任务说明

本案例目标是在目标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
NPU驱动安装与验证流程 1. 安装驱动包 2. modprobe rknpu 3. 验证加载状态 验证检查点 lsmod | grep rknpu 模块存在 → 通过 ls -l /dev/rknpu* 设备节点存在 → 通过 dmesg | grep -i rknpu 无error/failed → 通过 /sys/class/misc/rknpu/ sysfs接口存在 → 通过 全部通过 → 驱动环境就绪 任一失败 → 检查依赖/内核版本

故障排查指引

  • 若modprobe失败,先执行sudo depmod -a重新生成模块依赖,再尝试加载
  • 若设备节点未生成,确认内核配置CONFIG_RKNPU已启用,或检查是否有其他驱动占用相同主设备号
  • 若dmesg报firmware not found,需将对应固件文件(如rknn.bin)复制到/lib/firmware/目录

完成以上步骤并全部检查点通过后,NPU驱动环境即搭建成功,可继续后续推理引擎配置案例。