Toybrick

RK3399Pro入门教程(16)Android固件组成

jefferyzhang

论坛元老

积分
8615
发表于 2021-7-16 11:05:41    查看: 1012|回复: 0 | [复制链接]    打印 | 显示全部楼层
本帖最后由 jefferyzhang 于 2021-7-16 11:10 编辑

以下以Android11为例,其余版本android系统都类似。顺序大致就是系统加载和启动顺序

MiniLoaderAll.bin        一级Loader
parameter.txt             分区信息文件
uboot.img                  uboot
trust.img                   安全子系统(没有的话就不需要烧写)
misc.img                   启动指令(有烧写的话会进入recovery)
                               其他的xxx_misc.img文件类似,
                               都是启动命令,有些misc用于进入系统还原,有些命令用于进入产测模式

dtbo.img                   DeviceTreeOverlay 用于多个板子间兼容
vbmeta.img               包含AVB校验信息,用于AVB校验
boot.img                   包含Android的ramdisk.img + kernel.img + resource.img(dtb)固件
recovery.img              Recovery子系统,包含recovery的ramdisk.img + kernel.img + resource.img(dtb) 固件,
                               他是个独立于安卓的完整系统。
super.img                  动态分区的固件包,包含了odm.imgproduct.imgvendor.imgsystem.imgsystem_ext.img分区内容。
                               这些都是安卓的系统文件,其中system、vendor、product、odm都是安卓为了安全需求,
                                将系统组件分为了原生系统自带、vendor提供者、产品组件三大分区,每个分区目录结构基本是一样的,
                               都含有app、bin、lib等内容,目的在于方便区分原生、方案商、产品商区分各自提供的程序和访问权限的控制
                            (在10以后基本是相互不可访问,不可相互调用)。fastboot动态分区目的是为了减少空间的冗余,
                              同时提高OTA时候分区大小变化的鲁棒性。


其余没有固件的分区都是在Android运行过程中自动使用的,有的是cache,有的是安全密钥等信息。
如果使用RK的生产固件打包工具,会生成唯一的update.img,该img打包了上诉所有固件内容,方便生产环境使用。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表