下载
中文
注册

重构驱动run包

本节介绍了用户需要新增或替换驱动包中的Image、dt.img、驱动文件(ko文件)或驱动文件的加载脚本等时,如何进行驱动包的重构。

操作步骤

  1. 登录准备环境所搭建Linux服务器。
  2. 执行如下命令,切换至root用户。

    su - root

  3. 使用WinSCP工具,将下载软件包获取的源码包“Ascend310B-source.tar.gz”上传至Linux系统root用户属组目录,例如“/opt”。详细操作请参见使用WinSCP传输文件
  4. 执行如下命令,进入源码包所在目录“/opt”。

    cd /opt

  5. 执行如下命令,解压源码包“Ascend310B-source.tar.gz”。

    tar -xzvf Ascend310B-source.tar.gz

  6. 执行如下命令,进入“Ascend310B-source”目录。

    cd Ascend310B-source

  7. 使用WinSCP工具,将下载软件包获取的驱动包“Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run”(若有软实时OS需求,使用驱动包Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run)上传至6“Ascend310B-source”目录下。详细操作请参见使用WinSCP传输文件
  8. 执行以下命令,为驱动包添加可执行权限。

    chmod u+x Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run

    若有软实时OS需求,该命令为chmod u+x Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run

  9. 屏蔽spi驱动。
    1. 使用WinSCP工具,将下载软件包获取的驱动包“Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run”(若有软实时OS需求,使用驱动包Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run)上传至Linux系统root用户属组目录,例如“/opt”。详细操作请参见使用WinSCP传输文件
    2. 执行如下命令,进入“opt”目录。

      cd /opt

    3. 将驱动包解压至“opt”的子目录“repack”下。

      bash Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run --noexec --extract=./repack

      若有软实时OS需求,该命令为bash Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run --noexec --extract=./repack

    4. 执行如下命令进入解压目录。

      cd repack/scripts/

    5. 执行如下命令修改minirc_sys_init.sh文件。

      vim minirc_sys_init.sh

    6. 屏蔽下图绿色方框中自动加载驱动。

    7. 按“Esc”键,再执行如下命令,保存修改并按“Enter”键退出。

      :wq!

  10. 屏蔽power off驱动。
    1. 执行如下命令进入minirc_sys_init.sh文件。

      vim minirc_sys_init.sh

    2. 屏蔽下图绿色方框中自动加载驱动。

    3. 按“Esc”键,再执行如下命令,保存修改并按“Enter”键退出。

      :wq!

    4. 执行如下命令进入minirc_sys_init_ext.sh文件。

      vim minirc_sys_init_ext.sh

    5. 屏蔽下图绿色方框中自动加载驱动。

    6. 按“Esc”键,再执行如下命令,保存修改并按“Enter”键退出。

      :wq!

  11. (可选)新增或替换文件。若用户需要新增或替换驱动包中的Image(若有软实时OS需求,请参见(可选)获取内核Image文件下载)、dt.img、驱动文件(ko文件)或驱动文件的加载脚本等,需执行以下操作。
    1. 执行以下命令,在“Ascend310B-source”目录下新建“repack”目录并进入。若已创建,则无需重复创建。

      mkdir repack

      cd repack

    2. 执行以下命令,在“repack”目录下新建“firmware”目录,用于替换Image或dt.img文件。新建“drivers”目录,用于替换驱动文件(ko文件)。新建“scripts”目录,用于替换驱动文件的加载脚本。

      mkdir firmware

      mkdir drivers

      mkdir scripts

    3. 执行以下命令,进入“firmware”目录。

      cd firmware

      上传Image或dt.img文件,文件生成方式请参见编译内核,文件传输方式请参见使用WinSCP传输文件

    4. 执行以下命令,查看上传的Image或dt.img文件。

      ls

    5. 执行以下命令回到“repack”目录,再进入“drivers”目录。

      cd /opt/Ascend310B-source/repack

      cd drivers

    6. 上传新的驱动文件(ko文件),文件生成方式请参见编译驱动,文件传输方式请参见使用WinSCP传输文件
    7. 执行以下命令,查看上传的驱动文件(ko文件)。

      ls

    8. 执行以下命令回到“repack”目录,再进入“scripts”目录。

      cd /opt/Ascend310B-source/repack

      cd scripts

    9. 上传驱动自动加载的配置文件11-atlas.conf或filelist.csv与minirc_sys_init_ext.sh,文件生成方式请参见驱动自动加载配置,文件传输方式请参见使用WinSCP传输文件
    10. 上传10修改后的minirc_sys_init.sh和minirc_sys_init_ext.sh。
    11. 执行以下命令,查看上传的驱动文件的加载脚本。

      ls

    12. 执行如下命令,回到“Ascend310B-source”目录。

      cd /opt/Ascend310B-source

  12. 执行如下命令,编译驱动。

    bash build.sh repack ./Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run

    若有软实时OS需求,该命令为bash build.sh repack ./Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run

    出现如下回显,表示驱动重打包成功。

    repack success!
    • 编译后的Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64-repack.run(若有软实时OS需求,该驱动包为Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64-repack.run)驱动文件会自动存放于“Ascend310B-source/”目录下。
    • <version>表示软件包版本号。