重构驱动包

本章内容主要指导用户如何构建一个新驱动包。

前提条件

依赖第三方开源软件Inno Setup 6.0.5版本,下载网址:https://files.jrsoftware.org/is/6/

注意事项

重构驱动包过程中若修改文件名称、删除文件或随意修改文件内容,会导致重构或安装驱动包失败。

操作步骤

  1. 解压软件包。

    单击快捷键“win+R”,输入cmd并回车,打开“命令提示符”。输入以下命令并回车。

    Ascend310-Driver--win10.x86_64.exe /VERYSILENT /EXTRACT=path

    “path”为自定义路径,可以是相对或绝对路径。具体请根据实际情况替换。

    解压后的目录结构如图1所示:

    图1 软件包解压后目录结构

    解压目录包含重构驱动包脚本(iss文件)、配置文件(isl文件、ini文件)和driver包文件。driver包的文件在lib目录下,该目录内又分为host和device两个子目录。

  2. 用户需要将新的驱动文件(.cat、.inf 、.sys格式)放到解压目录“lib\host”目录下,替换原有文件。
  3. (可选)增加新文件。

    1. 打开“driver.iss”文件,在“[Files]”段下按照如下指定格式新增文件:
      Source: "lib\host\hinpu.sys"; DestDir: "{app}\npu"; Flags: ignoreversion 

      Source指添加文件的路径和名称;DestDir指安装驱动后文件存放路径,默认选择{app},指向安装目录;Flags可选。

    2. 打开“vartype.iss”文件,在“HostFilesExt”变量末尾添加新的文件名称,以逗号分隔。如下所示:
      HostFilesExt = 'upgrade-tool.exe,NPUDrvTool.exe,ascend_310_check.exe,msnpureport.exe,device_boot_init.bat,ascend_upgrade_crl.bat,device_crl_check.bat,libc_sec.dll,libmmpa.dll,libascend_hal.dll,libdrvdsmi_host.dll,devcon.exe,hinpu.cat,hinpu.inf,hinpu.sys,dsmi_common_interface.h,ascend_hal_error.h,libmmpa.lib,libascend_hal.lib,libdrvdsmi_host.lib'; DeviceFilesExt = 'tee.bin,dt.img,filesystem-le.cpio.gz,HI1910_FPGA_DDR.fd,Image,lpm3.img'; 

  4. (可选)更改安装包版本和驱动版本。

    • 更改安装包版本需要修改解压目录下“setup.ini”文件中“version”字段值,如下所示:
      version=1.80.x.x

  5. (可选)更改安装包名称。

    • 界面编译方式

      使用编辑工具打开“driver.iss”文件,修改“OutputBaseFilename”字段指向的名称。

    • 命令行方式
      • 默认安装包名称后面加后缀,使用“/D_SUFFIX”参数,具体命令行如下:

        "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" driver.iss /D_SUFFIX=custom

      • 替换默认安装包名称,使用“/F”参数,具体命令行如下:

        "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" driver.iss /Fcustom

  6. (可选)更改安装包输出路径。

    • 界面编译方式

      使用编辑工具打开“driver.iss”文件,修改“OutputDir”字段指向的路径。

    • 命令行方式

      替换安装包默认输出路径,使用“/O”参数,具体命令行如下:

      "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" driver.iss /Ocustom

      “custom”为相对路径或绝对路径。

  7. 重构新驱动包。目前支持以下两种方式:

    • 软件界面编译方式

      使用Inno Setup软件打开“driver.iss”(主文件),单击“编译”,则会在“driver.iss”文件所在目录下生成新的驱动包。

    • 命令行方式

      单击快捷键“win+R”,输入cmd并回车,打开“命令提示符”。输入以下命令并回车。

      "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" driver.iss

      此方式使用ISCC.exe工具,该工具在“Inno Setup”安装路径下。“C:\Program Files (x86)\Inno Setup 6”为“Inno Setup”的默认安装路径,具体请根据实际情况替换。