su - root
解压后的driver/source/vendor/hisi/tools/signtool/image_pack目录中有加密与打包工具,用于文件系统压缩步骤。
例如在/usr/local/software/目录下执行如下解压命令:
tar -zxvf {soc version}-driver-{software version}-minios.aarch64-src.tar.gz
说明:如果进行驱动源码编译时已经解压了此源码包,则可跳过此步骤。
cd /usr/local/filesys_modify/
rm raw-Ascend310P.cpio
rm Ascend310P.cpio.gz
cd tempdir
find . | cpio -o -H newc | gzip > ../raw-Ascend310P.cpio.gz
命令执行完成后,会在上级目录filesys_modify目录下生成压缩后的文件系统raw-Ascend310P.cpio.gz。
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
digest=`sha256sum header-Ascend310P.cpio.gz | awk '{print $1}'`
echo "initrd, ${digest};" > ./initrd.ini
命令执行完成后,会在filesys_modify目录下生成增加签名头后的文件系统镜像文件Ascend310P.cpio.gz。
chattr -i /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/
chattr +i /usr/local/Ascend/driver/device/Ascend310P.cpio.gz
文件系统替换完成后,为节省空间,可删除/usr/local/filesys_modify/下的tempdir文件夹。
reboot