OTA整包升级data分区文件系统修改不成功

1.问题描述:

data分区的文件系统是F2FS格式的,由于设备是不带电池,会经常有直接断电的场景,这样就有损坏文件系统的概率,改为ext4的格式就可以避免这个问题。目前修改了之后固件烧录升级时没问题的,但编译成ota的整包升级时候,发现升级过程是成功的(可以通过版本号判断),通过cat /proc/mounts查看发现data分区的文件系统没有更新过来,依然是F2FS格式的。

 

2.问题原因:文件系统格式修改的这部分,涉及到data分区,当编译的ota整包升级时候是不会清掉data分区数据,所以这块升级完成之后并没有被修改到。

 

 3.解决方案:前面分析了原因,所以解决办法就是需要清掉data分区的数据才可以,最直接的就是升级完成之后恢复出厂设置。但这个实际使用场景太繁琐,不够人性化。需要编译的ota的升级包就能          实现这个格式化data分区的数据。

build/tools/releasetools/ota_from_target_files这个文件是是制作全包和差分包的主要工具,只需要把OPTIONS.wipe_user_data设为True,编译出来的ota包就会清掉data分区的数据。

diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py
index d409d94..969c33b 100755
--- a/tools/releasetools/ota_from_target_files.py
+++ b/tools/releasetools/ota_from_target_files.py
@@ -150,7 +150,7 @@ OPTIONS.verify = False
 OPTIONS.require_verbatim = set()
 OPTIONS.prohibit_verbatim = set(("system/build.prop",))
 OPTIONS.patch_threshold = 0.95
-OPTIONS.wipe_user_data = False
+OPTIONS.wipe_user_data = True
 OPTIONS.omit_prereq = False
 OPTIONS.downgrade = False

升级完成后,再查看:

 
参考文章:https://blog.csdn.net/qq_27061049/article/details/107188831
  https://blog.csdn.net/Xiaoma_Pedro/article/details/103919347

 

posted @ 2022-07-07 20:29  M-kobe  阅读(681)  评论(0编辑  收藏  举报