压缩文件系统
- 执行以下命令切换到root用户,后续操作都需要以root用户执行。
su - root
- 解压软件包获取中的{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
说明:如果进行驱动源码编译时已经解压了此源码包,则可跳过此步骤。
- 进入/usr/local/filesys_modify/目录,并删除原有的raw-davinci_mini.cpio文件与davinci_mini.cpio.gz文件。
cd /usr/local/filesys_modify/
rm raw-davinci_mini.cpio
rm davinci_mini.cpio.gz
- 进入tempdir目录,并将tempdir目录中的内容打包成raw-davinci_mini.cpio.gz。
cd tempdir
find . | cpio -o -H newc | gzip > ../raw-davinci_mini.cpio.gz
命令执行完成后,会在上级目录filesys_modify目录下生成压缩后的文件系统raw-davinci_mini.cpio.gz。
- 为压缩后的文件系统增加签名头。
切换到文件系统制作的filesys_modify目录下
cd /usr/local/filesys_modify
执行如下命令:
python3.7 /usr/local/software/driver/source/vendor/hisi/tools/signtool/image_pack/image_pack.py -raw_img raw-davinci_mini.cpio.gz -out_img davinci_mini.cpio.gz -version 1.1.1.1.1 -platform hi1910- /usr/local/software/为2中{soc version}-driver-{software version}-minios.aarch64-src.tar.gz解压目录。
- -raw_img:原始镜像文件路径,保持与示例一致即可。
- -out_img:重新打包后的镜像文件输出路径,保持与示例一致即可。
- -version:镜像版本号,用户可自定义。
命令执行完成后,会在filesys_modify目录下生成增加签名头后的文件系统davinci_mini.cpio.gz。
- 替换Driver安装目录下device文件夹下的davinci_mini.cpio.gz。
替换前请先备份 /usr/local/Ascend/driver/device/目录下的davinci_mini.cpio.gz文件到其他目录,防止文件系统编译出错。
- 为davinci_mini.cpio.gz文件添加写权限。
chattr -i /usr/local/Ascend/driver/device/davinci_mini.cpio.gz
- 替换/usr/local/Ascend/driver/device/目录下的davinci_mini.cpio.gz。
cp -rf /usr/local/filesys_modify/davinci_mini.cpio.gz /usr/local/Ascend/driver/device/
- 取消davinci_mini.cpio.gz文件的写权限。
chattr +i /usr/local/Ascend/driver/device/davinci_mini.cpio.gz
文件系统替换完成后,为节省空间,可删除/usr/local/filesys_modify/下的tempdir文件夹。
- 为davinci_mini.cpio.gz文件添加写权限。
- 重启Host。
reboot