下载
中文
注册

部署修改后文件系统

操作步骤

  1. 执行以下命令切换到root用户,后续操作都需要以root用户执行。

    su - root

  2. 解压软件包获取中的{soc version}-driver-{software version}-minios.aarch64-src.tar.gz。

    解压后的driver/source/vendor/hisi/tools/signtool/image_pack目录中有加密与打包工具,用于文件系统压缩步骤。

    例如在/usr/local/software/目录下执行如下解压命令:

    tar -zxvf {soc version}-driver-{software version}-minios.aarch64-src.tar.gz

    说明:如果进行驱动源码编译时已经解压了此源码包,则可跳过此步骤。

  3. 进入/usr/local/filesys_modify/目录,并删除原有的raw-Ascend310P.cpio与Ascend310P.cpio.gz文件。

    cd /usr/local/filesys_modify/

    rm raw-Ascend310P.cpio

    rm Ascend310P.cpio.gz

  4. 进入tempdir目录,并将tempdir目录中的内容打包成raw-Ascend310P.cpio.gz。

    cd tempdir

    find . | cpio -o -H newc | gzip > ../raw-Ascend310P.cpio.gz

    命令执行完成后,会在上级目录filesys_modify目录下生成压缩后的文件系统raw-Ascend310P.cpio.gz。

  5. 对文件系统镜像文件进行签名前预处理。
    1. 切换到上一级的文件系统制作的filesys_modify目录下,并为文件系统增加签名头。

      cd /usr/local/filesys_modify

      python3 /usr/local/software/driver/source/vendor/hisi/tools/signtool/image_pack/esbc_header.py -raw_img raw-Ascend310P.cpio.gz -out_img header-Ascend310P.cpio.gz -version 1.1.1.1.1 -nvcnt 0 -tag initrd -platform hi1910p

      • /usr/local/software/2中{soc version}-driver-{software version}-minios.aarch64-src.tar.gz解压目录。
      • -raw_img:原始镜像文件路径,保持与示例一致即可。
      • -out_img:重新打包后的镜像文件输出路径,保持与示例一致即可。
      • -version:镜像版本号,格式为x.x.x.x.x用户可自定义。
      • 其他参数请保持默认值即可。
    2. 执行如下命令,生成文件系统的摘要信息文件“initrd.ini”。

      digest=`sha256sum header-Ascend310P.cpio.gz | awk '{print $1}'`

      echo "initrd, ${digest};" > ./initrd.ini

  6. 对摘要信息文件“initrd.ini”进行签名,详细操作请参见生成开放态文件系统CMS签名文件
  7. 将上述步骤生成的CMS签名文件initrd.ini.p7s和initrd.ini.crl拷贝到/usr/local/filesys_modify/目录。
  8. 进入/usr/local/filesys_modify/目录,执行如下命令将文件系统和签名文件打包并增加签名头。
    python3 /usr/local/software/driver/source/vendor/hisi/tools/signtool/image_pack/image_pack.py -raw_img ./header-Ascend310P.cpio.gz -out_img ./Ascend310P.cpio.gz -cms ./initrd.ini.p7s -ini ./initrd.ini -crl ./initrd.ini.crl --addcms -version 1.1.1.1.1 -platform hi1910p --pss
    • /usr/local/software/2中{soc version}-driver-{software version}-minios.aarch64-src.tar.gz解压目录。
    • -raw_img:原始镜像文件路径,保持与示例一致即可。
    • -out_img:重新打包后的镜像文件输出路径,保持与示例一致即可。
    • -cms:CMS签名文件。
    • -ini:签名文件的摘要信息。
    • -crl:签名机构的吊销列表证书。
    • -addcms:增加CMS签名的标志。
    • -version:镜像版本号,格式为x.x.x.x.x用户可自定义。
    • 其他参数请保持默认值即可。

    命令执行完成后,会在filesys_modify目录下生成增加签名头后的文件系统镜像文件Ascend310P.cpio.gz。

  9. 部署修改后的文件系统。替换Driver安装目录下device文件夹下的的Ascend310P.cpio.gz。
    1. 为Ascend310P.cpio.gz文件添加写权限。

      chattr -i /usr/local/Ascend/driver/device/Ascend310P.cpio.gz

    2. 替换/usr/local/Ascend/driver/device/目录下的Ascend310P.cpio.gz。

      替换前请先备份 /usr/local/Ascend/driver/device/目录下的Ascend310P.cpio.gz文件到其他目录,防止文件系统编译出错。

      cp -rf /usr/local/filesys_modify/Ascend310P.cpio.gz /usr/local/Ascend/driver/device/

    3. 取消Ascend310P.cpio.gz文件的写权限。

      chattr +i /usr/local/Ascend/driver/device/Ascend310P.cpio.gz

    文件系统替换完成后,为节省空间,可删除/usr/local/filesys_modify/下的tempdir文件夹。

  10. 重启Host。

    reboot