[RK3399][Android7.1] 调试笔记 --- Recovery模式下无法挂载/data分区

在RK3399平台的Android 7.1设备中,由于/data分区使用f2fs格式,在Recovery模式下无法挂载。调试过程中发现与rk3288平台的ext4不同,且与forceencrypt属性有关。通过解除/data分区的加密或转换为ext4格式可以解决问题,但后者可能影响数据传输效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

背景:
  由于产品的OTA diff升级包比较大,无法放在cache分区,而直接去增大cache分区浪费存储空间。因此将diff包放在了/sdcard目录即/data分区。出现如下error log:

[    1.210802] E:failed to mount /data (Invalid argument)

调试过程:

  1. 恢复出厂设置后/data可以挂载,在恢复出厂设置前添加mount动作,确认是否升级流程有差异,结果失败。
  2. 尝试在recovery模式下使用命令行挂载f2fs,失败。
  3. 验证rk3288平台,挂载成功。对比rk3288和rk3399平台/data,发现rk3288使用ext4,而rk3399使用f2fs格式。
  4. 将rk3399的/data分区修改成ext4,可以正常挂载,可能和分区格式相关。
  5. 查看rk3399 fstab,发现使用的是fstab.rk30board.bootmode.forceencrypt.emmc而不是fstab.rk30board.bootmode.emmc,两者文件的差异之一在于是否使用forceencrypt属性。
  6. 使用fstab.rk30board.bootmode.emmc即不对/data分区不做加密,问题解决。

解决方法:

解除/data分区加密。

kris@eco:~/rk3399/device/rockchip/rk3399$ g df 
diff --git a/rk3399_mid.mk b/rk3399_mid.mk
index 7f79021..6569a83 100755
--- a/rk3399_mid.mk
+++ b/rk3399_mid.mk
@@ -36,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值