QCOM adsp cdsp dynamic_modules更新

分析:
抓取QXDM log,查看是不是有类似log
ADSP: Segment [0] failed streamed SigVerify for xxx.1 signature verifying is failed
CDSP: Segment [0] failed streamed SigVerify for xxx.1 signature verifying is failed

原因:

通过log分析基本定位是只更新了ADSP与CDSP代码,没有更新dspso.bin文件
qcom估计是传被该做二次验证,一般adsp cdsp会打包到NON-HLOS.bin,然后又会把
这些so又同步到dspso.bin,这样在开机后会load NON-HLOS.bin与dspso.bin做一次hash验证
匹配就工作,不匹配说明不同步或者被改动

 

现在qcom也是更新基本居然不做两现步,尴尬的很只能自己动手了


解决:

adb root;adb pull vendor/dsp
ADSP.xxx\adsp_proc\build\dynamic_modules\[chip].adsp.prod
CDSP.xxx\adsp_proc\build\dynamic_modules\[chip].adsp.prod
对比这两部分下面的文件基本有很多不一样的,这样我们只需要把dynamic_modules下面的文件与
dsp的文件同步就可以了,主要看更新基本哪一部分更新(dspso.bin与ADSP CDSP)

我这边基本就是dspso.bin没有更新,所以接下来就是做一个新的dspso.bin

1、先把旧的镜像文件挂载到本地目录
sudo mount -o loop -t auto dspso.bin /mnt/code/work/dsp

mount
/home/xx/dspso.bin on /mnt/code/work/dsp type ext4 (rw,relatime)

2、更新so
sudo cp ADSP.xxx/adsp_proc/build/dynamic_modules/[chip].adsp.prod/* /mnt/code/work/dsp/adsp/
sudo cp CDSP.xxx/adsp_proc/build/dynamic_modules/[chip].adsp.prod/* /mnt/code/work/dsp/cdsp/
分别ls /mnt/code/work/dsp/cdsp/ -l ls /mnt/code/work/dsp/adsp/ -l 
日期有变化就更新了

ls /home/xx/dspso.bin -l 我们看看是不是日期也变了,其实这个操作就是把  解压镜像和打包镜像省略了,利用系统机制实现了。

3、就是fastboot dspso.bin到机器就可以了验证了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值