[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;
         }
     }

你可能感兴趣的:(Android13,Android13,高通6125,dm-verity,vbmeta,matrix)