本文主要是介绍[QCM6125][Android13] 默认关闭dm-verity以及OTA升级校验vbmeta和framework matrix失败问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
在user版本增加root权限之后,每次进行remount的时候,总会提示
remount of the / superblock failed: Permission denied
remount failed
这时候,需要先关闭dm-verify,重启,再remount;整个过程过于复杂,于是决定关闭dm-verify。
解决方案
--- a/QSSI.13/external/avb/avbtool.py
+++ b/QSSI.13/external/avb/avbtool.py
@@ -4243,7 +4243,7 @@ class AvbTool(object):sub_parser.add_argument('--flags',help='VBMeta flags',type=parse_number,
- default=0)
+ default=2)sub_parser.add_argument('--set_hashtree_disabled_flag',help='Set the HASHTREE_DISABLED flag',action='store_true')
关闭dm-verity引发的问题
上面关闭dm-verify之后,终于可以直接执行remount了;但是,再打包输入正式固件的时候却发现OTA升级失败了,不管是全量包还是差分包都无法升级,通过cache目录下的日志可以看到报错
E:Failed to verify package compatibility (result 1): Runtime info and framework compatibility matrix are incompatible: Vbmeta version 0.0 does not match framework matrix 1.0
从上面的报错可以看到vbmeta跟framework matrix校验失败了,那么OTA升级的时候,直接关闭校验。
--- a/QSSI.13/system/libvintf/RuntimeInfo.cpp
+++ b/QSSI.13/system/libvintf/RuntimeInfo.cpp
@@ -125,7 +125,7 @@ bool RuntimeInfo::checkCompatibility(const CompatibilityMatrix& mat, std::string<< " does not match framework matrix " << matAvb;*error = ss.str();}
- return false;
+ return true;}}
这篇关于[QCM6125][Android13] 默认关闭dm-verity以及OTA升级校验vbmeta和framework matrix失败问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!