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 @   M-kobe  阅读(812)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示