重构驱动run包
本节介绍了用户需要新增或替换驱动包中的Image、dt.img、驱动文件(ko文件)或驱动文件的加载脚本等时,如何进行驱动包的重构。
操作步骤
- 登录准备环境所搭建Linux服务器。
- 执行如下命令,切换至root用户。
su - root
- 使用WinSCP工具,将下载软件包获取的源码包“Ascend310B-source.tar.gz”上传至Linux系统root用户属组目录,例如“/opt”。详细操作请参见使用WinSCP传输文件。
- 执行如下命令,进入源码包所在目录“/opt”。
cd /opt
- 执行如下命令,解压源码包“Ascend310B-source.tar.gz”。
tar -xzvf Ascend310B-source.tar.gz
- 执行如下命令,进入“Ascend310B-source”目录。
cd Ascend310B-source
- 使用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传输文件。
- 执行以下命令,为驱动包添加可执行权限。
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。
- 屏蔽spi驱动。
- 使用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传输文件。
- 执行如下命令,进入“opt”目录。
- 将驱动包解压至“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。
- 执行如下命令进入解压目录。
- 执行如下命令修改minirc_sys_init.sh文件。
- 屏蔽下图绿色方框中自动加载驱动。
- 按“Esc”键,再执行如下命令,保存修改并按“Enter”键退出。
- 屏蔽power off驱动。
- (可选)新增或替换文件。若用户需要新增或替换驱动包中的Image(若有软实时OS需求,请参见(可选)获取内核Image文件下载)、dt.img、驱动文件(ko文件)或驱动文件的加载脚本等,需执行以下操作。
- 执行以下命令,在“Ascend310B-source”目录下新建“repack”目录并进入。若已创建,则无需重复创建。
mkdir repack
cd repack
- 执行以下命令,在“repack”目录下新建“firmware”目录,用于替换Image或dt.img文件。新建“drivers”目录,用于替换驱动文件(ko文件)。新建“scripts”目录,用于替换驱动文件的加载脚本。
mkdir firmware
mkdir drivers
mkdir scripts
- 执行以下命令,进入“firmware”目录。
上传Image或dt.img文件,文件生成方式请参见编译内核,文件传输方式请参见使用WinSCP传输文件。
- 执行以下命令,查看上传的Image或dt.img文件。
- 执行以下命令回到“repack”目录,再进入“drivers”目录。
cd /opt/Ascend310B-source/repack
cd drivers
- 上传新的驱动文件(ko文件),文件生成方式请参见编译驱动,文件传输方式请参见使用WinSCP传输文件。
- 执行以下命令,查看上传的驱动文件(ko文件)。
- 执行以下命令回到“repack”目录,再进入“scripts”目录。
cd /opt/Ascend310B-source/repack
cd scripts
- 上传驱动自动加载的配置文件11-atlas.conf或filelist.csv与minirc_sys_init_ext.sh,文件生成方式请参见驱动自动加载配置,文件传输方式请参见使用WinSCP传输文件。
- 上传10修改后的minirc_sys_init.sh和minirc_sys_init_ext.sh。
- 执行以下命令,查看上传的驱动文件的加载脚本。
- 执行如下命令,回到“Ascend310B-source”目录。
- 执行以下命令,在“Ascend310B-source”目录下新建“repack”目录并进入。若已创建,则无需重复创建。
- 执行如下命令,编译驱动。
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>表示软件包版本号。