芯片: SDM450
版本: Android 9.0
kernel: msm-4.9
在user版本增加root权限之后,每次进行remount的时候,总会提示
remount of the / superblock failed: Permission denied
remount failed
这时候,需要先关闭dm-verify,重启,再remount;整个过程过于复杂,于是决定关闭dm-verify。
--- a/external/avb/avbtool
+++ b/external/avb/avbtool
@@ -3562,7 +3562,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-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/system/libvintf/RuntimeInfo.cpp
+++ b/system/libvintf/RuntimeInfo.cpp
@@ -181,7 +181,8 @@ bool RuntimeInfo::checkCompatibility(const CompatibilityMatrix& mat, std::string
<< " does not match framework matrix " << matAvb;
*error = ss.str();
}
- return false;
+ // return false;
+ return true;
}
}