1. 分区表配置的原则
1.1.分区的单位
分区单位:扇区(一个扇区占据 512 字节);
分区表示个数最多 2^31 * 512 = 2T,即容量大小最多为 2T。
1.2.分区的大小
为了安全和效率考虑,分区大小最好保证为 16M 字节的整数倍; 即:32768(扇区) = 16M。
1.3.分区表属性说明
分区属性 | 作用 | 配置选择 | 性质 |
name | 分区名 | 自定义 | 必选 |
size | 分区大小(单位:扇区) | 自定义 | 必选 |
downloadfile | 烧写的镜像 | 自定义 | 可选 |
user_type | 掉电保护的配置项(NAND flash) | 0x8000:掉电不保护;0xc1000:掉电保护0xc2000:掉电保护(Udisk分区) | 必选 |
keydata | 量产保护数据选项 | 0x8000:量产保护数据 | 可选 |
verify | 量产校验的选项 | 1:量产校验(默认)0:量产不校验 | 可选 |
2. 各个分区表的作用与配置
以下说明以 T3 公版(p3)为参照标准。
2.1.bootloader 分区
Boot 数据存放分区,用于保存 boot 启动后需要的数据,如图片、logo、字体库等素材内容。 分区建议:因保存的为素材内容,且数据量不会很大,使用默认 16M 即可。
2.2. env 分区
环境变量分区,用于保存环境变量、启动参数等数据。 分区建议:因保存的为系统参数,数据量很小,使用默认 16M 即可。
2.3.boot 分区
这个分区上有
Android 的引导程序,包括
kernel 和 ramdisk。该分区设备用于引导系统启动。 现有 boot 镜像为 15M 左右,一般不会有大幅度的变化。 分区建议:无重大修改,默认使用 16M 即可。如果 boot 镜像超过 16M,需要将它修改为 32M
2.4.system 分区
该分区为系统分区,存放 android 操作系统的,里面包含了 Android 用户库文件和预先安装的系统应用 等,擦除了这个分区就会删除掉整个 Andorid 系统。 各方案需要关注 OTA 升级对其产生的影响,在 ota 升级时,会对该分区进行读写操作,如果升级过程 中分区被写满会导致升级失败,因此,在需要预留一定空间以便日后可进行 ota 升级。 分区建议:system 分区用于存放 system.img(路径为 android\out\target\
product\方案\system.img),其 大小必定要大于 system.img 文件的大小。另外,system 分区的大小严重依赖于需要预装的 apk,预装的 apk 越多,对 system 分区容量的需求就越大。分区大小需要根据方案的具体情况来确定,建议最小 512M。
2.6.misc 分区
存放系统启动参数等,一般用户 boot 启动后读取并作出相应的动作。 分区建议:因保存的为系统参数,数据量很小,使用默认 16M 即可。
2.7.recovery 分区
recovery 分区可理解为另一个启动分区(与 boot 分区类似),用户可以启动设备进入 recovery 控制 台去执行高级的系统恢复或升级管理等操作。可理解为 window 的 winpe 系统。 分区建议:现有镜像文件 recovery.img 的大小为 10M 左右,日后升级可能会加入更多功能,但不会有 大幅度修改,因此建议分区大小为 32M。
2.9.private 分区
私有分区,非标准分区。用户存放系统序列码等信息,并且使用恢复出厂设置或者量产等操作无法清 除该内容,产品出厂后会在该分区写入内容。出厂后一般不允许用户修改该分区内容。 分区建议:因保存的是方案特定的私有数据,其大小取决于带保存的私有数据的大小,一般数据量很 小,使用默认 16M 即可。
2.14.cache 分区
缓存分区。最主要的用处为当进行 ota 升级时,会将相应的命令和升级包存放在该分区使用。但也有 部分系统可不使用该分区,直接在如/mnt/sdcard 分区里经常 ota 升级(需要 recovery 支持,非标准)。 分区建议:如可直接使用/mnt/sdcard/分区进行 ota 升级,可仅仅划分 16M 即可,否则,需要根据规 划中 ota 的升级包大小划分分区。如一般的 ota 包在 250M 左右,可划分到 350M,或根据具体的 ota 升 级包预留 50%空间。
2.15.UDISK 分区
用户内置存储分区。系统总分区大小减去已分配的大小(即所有未分配的剩余的空间,不需要显式分配 大小)都为该分区所用。UDISK 分区可理解为 android 系统的/sdcard 分区即用户 internal storage,用于存 放用户数据,也可将应用程序安装在该位置,可以节省 data 分区的空间。必须保证 sys_partition.fex 的最后 一个分区为 UDISK 分区。 分区建议:根据 flash 容量大小分配剩余的即可。
更多详细内容请下载附件查看