[RK3288][Android7.1][分区]新增可读写分区bkdata

本文介绍了在Android 7.1系统上,针对RK3288平台如何新增一个128M的bkdata分区,用于数据备份和ota升级时的数据保留。内容包括修改partition参数文件、fstab配置、init.*.rc文件设置、处理Selinux权限以及recovery中的处理步骤。
摘要由CSDN通过智能技术生成

背景

客户需求:创建可读写分区bkdate,用于数据备份,ota升级、恢复出厂设备bkdata分区数据保留

1.分区表参数文件修改 device/rockchip/rk3288/parameter.txt

新增128M bkdata分区:

 0x00040000@0x006BC000(bkdata),-@0x006FC000(userdata)

FIRMWARE_VER:7.1
MACHINE_MODEL:rk3288
MACHINE_ID:007
MANUFACTURER:RK3288
MAGIC: 0x5041524B
ATAG: 0x60000800
MACHINE: 3288
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
CMDLINE: console=ttyFIQ0 androidboot.baseband=N/A androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00002000@0x00006000(misc),0x00008000@0x00008000(resource),0x0000C000@0x00010000(kernel),0x00010000@0x0001C000(boot),0x00010000@0x0002C000(recovery),0x00038000@0x0003C000(backup),0x00040000@0x00074000(cache),0x00500000@0x000B4000(system),0x00008000@0x005B4000(metadata),0x00080000@0x005BC000(vendor0),0x00080000@0x0063C000(vendor1),0x00040000@0x006BC000(bkdata),-@0x006FC000(userdata)

在内核log信息中可以看到

[    1.025640]     bkdata: 0x0d7800000 -- 0x0df800000 (128 MB)

[    1.025259] mmcblk1rpmb: mmc1:0001 8GTF4R partition 3 512 KiB
[    1.025534]      uboot: 0x000400000 -- 0x000800000 (4 MB)
[    1.025544]      trust: 0x000800000 -- 0x000c00000 (4 MB)
[    1.025551]       misc: 0x000c00000 -- 0x001000000 (4 MB)
[    1.025574]   resource: 0x001000000 -- 0x002000000 (16 MB)
[    1.025581]     kernel: 0x002000000 -- 0x003800000 (24 MB)
[    1.025588]       boot: 0x003800000 -- 0x005800000 (32 MB)
[    1.025594]   recovery: 0x005800000 -- 0x007800000 (32 MB)
[    1.025601]     backup: 0x007800000 -- 0x00e800000 (112 MB)
[    1.025607]      cache: 0x00e800000 -- 0x016800000 (128 MB)
[    1.025614]     system: 0x016800000 -- 0x0b6800000 (2560 MB)
[    1.025620]   metadata: 0x0b6800000 -- 0x0b7800000 (16 MB)
[    1.025627]    vendor0: 0x0b7800000 -- 0x0c7800000 (256 MB)
[    1.025633]    vendor1: 0x0c7800000 -- 0x0d7800000 (256 MB)
[    1.025640]     bkdata: 0x0d7800000 -- 0x0df800000 (128 MB)
[    1.025646]   userdata: 0x0df800000 -- 0x1d1c00000 (3876 MB)
[    1.025674]  mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15

分区定义说明:
1、为了兼容性,目前RK所有AP都是用rk29xxnand做标识。
2、单个分区说明:
例如:0x00002000@0x00008000(boot),@符号之前的数值是分区大小,@符号之后的数值是分区的起始位置,括号里面的字符是分区的名字。所有数值的单位是sector,1个sector为512Bytes.上例中,boot分区起始位置为0x8000 sectors位置,大小为0x2000 sectors(4MB).
3、为了性能,每个分区起始地址需要32KB(64 sectors)对齐,大小也需要32KB的整数倍。
4、如果使用sparse格式的镜像,升级时会擦除数据,为了兼容性更好,对应的分区最好按4MB对齐,大小也按4MB整数倍配置。

2.fstab文件中添加相关配置

2.1 在device/rockchip/rk3288/fstab.rk30board.bootmode.emm

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值