---
title: 安装NPU驱动和固件
description: "物理机和容器部署场景，只需要在物理机安装NPU驱动和固件。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/softwareinst/instg/instg_0005.html
sourcePath: /source/zh/canncommercial/900/softwareinst/instg/instg_0005.html
indexId: f59c23a82bf007209fc31b19e24b86ac707707f2ad5e880a9590a33e473c1dfe64
---
# 安装NPU驱动和固件

物理机和容器部署场景，只需要在物理机安装NPU驱动和固件。

虚拟机部署场景，请参考本章节在物理机安装NPU驱动和固件，同时在虚拟机仅安装NPU驱动。

#### 安装说明

用户可使用如下命令查询当前环境是否安装驱动，若返回驱动相关信息说明已安装。
```
npu-smi info
```


- 首次安装场景：硬件设备刚出厂时未安装驱动，或者硬件设备前期安装过驱动和固件但是当前已卸载，上述场景属于首次安装场景，需按照“驱动 > 固件”的顺序安装驱动和固件。
- 覆盖安装场景：硬件设备前期安装过驱动和固件且未卸载，当前要再次安装驱动和固件，此场景属于覆盖安装场景，需按照“固件> 驱动”的顺序安装。


#### 准备用户

本节指导用户创建安装和运行用户，若用户已存在，请跳过本节内容。


**表1 用户类型**

| 组件 | 安装用户 | 运行用户 |
| --- | --- | --- |
| NPU驱动和固件 | root | 由于安装驱动固件时，运行用户和用户组默认指定为HwHiAiUser，需在安装软件包前自行创建HwHiAiUser的运行用户和用户组。 若创建的用户和用户组是非HwHiAiUser（含root），安装驱动和固件时必须指定运行用户。 |


本文档中的示例步骤使用的用户如下：

- 以root用户安装驱动、固件。
- 以非root用户HwHiAiUser（驱动固件的默认运行用户）为运行用户。

执行如下示例命令，创建HwHiAiUser用户和用户组：```
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
```


默认用户HwHiAiUser的用途和配置要求，请以《Atlas 系列硬件产品 账户清单(https://support.huawei.com/enterprise/zh/doc/EDOC1100235027?idPath=23710424|251366513|22892968|252764743)》为准，若想创建其他非root用户，请用户自行创建。

需注意，若安装驱动时未使用--install-for-all参数，CANN软件包运行用户需与驱动固件的运行用户为同一个用户组。


#### 安装依赖

1. 执行如下命令检查源是否可用。
  Debian、Ubuntu、veLinux： 1 apt-get update

  如果命令执行报错或者等待时间过长，则检查网络是否连接或修改“/etc/apt/sources.list”文件为可用源（以配置华为镜像源为例，可参考华为开源镜像站(https://mirrors.huaweicloud.com/)中镜像源对应的配置方法操作）。

  openEuler、CentOS、Kylin、BCLinux、UOS、AntOS、CTyunOS、CULinux、Tlinux、MTOS、vesselOS： 1 yum makecache

  如果命令执行报错或者等待时间过长，则检查网络是否连接或修改“/etc/yum.repos.d/xxxx.repo”文件为可用源（以配置华为镜像源为例，可参考华为开源镜像站(https://mirrors.huaweicloud.com/)中镜像源对应的配置方法操作）。

2. 执行命令安装所需依赖
  Debian、Ubuntu、veLinux： 1 apt-get install -y make dkms gcc linux-headers-$(uname -r)

  openEuler、CentOS、Kylin、BCLinux、UOS、AntOS、CTyunOS、CULinux、Tlinux、MTOS、vesselOS： 1 yum install -y make dkms gcc kernel-headers-$(uname -r) kernel-devel-$(uname -r)

  如果出现报错或者依赖不存在，请参见安装驱动源码编译所需依赖解决。


#### 安装驱动和固件

1. 以root用户登录安装环境，将驱动包和固件包上传到安装环境的任意目录如“/home”。
2. 进入软件包所在目录，执行如下命令增加执行权限。
  1 2 chmod +x Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run chmod +x Ascend-hdk-<chip_type>-npu-firmware_<version>.run

3. 安装驱动和固件，软件包默认安装路径为“/usr/local/Ascend”。

  a. 执行如下命令安装驱动。
    1 ./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full --install-for-all

    若系统出现如下关键回显信息，则表示驱动安装成功。 1 Driver package installed successfully!

    若执行上述安装命令出现缺失部分Linux工具，请根据安装过程中回显信息提示自行安装。若出现dkms和缺少依赖等相关报错，请参见驱动安装出现报错解决。

  b. 执行如下命令安装固件。
    1 ./Ascend-hdk-<chip_type>-npu-firmware_<version>.run --full

    若系统出现如下关键回显信息，表示固件安装成功。

    1 Firmware package installed successfully!

如果驱动的运行用户和运行用户组未按照示例步骤创建为HwHiAiUser时，则在安装驱动和固件包时必须指定运行用户和用户组，示例命令如下：

```
./Ascend-hdk-
<chip_type>
-npu-driver_
<version>
_linux-
<arch>
.run --full --install-username
=
<
username
>
--install-usergroup
=
<
usergroup
>
```


4. 根据系统提示信息决定是否重启系统，若需要重启，请执行以下命令；否则，请跳过此步骤。
  驱动安装完成后，重启提示信息示例如下：“Driver package installed successfully! Reboot needed for installation/upgrade to take effect!”

  固件安装完成后，重启提示信息示例如下：“Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect.”

  执行重启命令： 1 reboot

5. 执行如下命令查看驱动加载是否成功。
  1 npu-smi info

  若返回驱动相关信息说明加载成功。否则，说明加载失败，请访问支持与服务(https://www.hiascend.com/support)在论坛求助或提交技术工单。
