|
本帖最后由 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.img、product.img、vendor.img、system.img、system_ext.img分区内容。
这些都是安卓的系统文件,其中system、vendor、product、odm都是安卓为了安全需求,
将系统组件分为了原生系统自带、vendor提供者、产品组件三大分区,每个分区目录结构基本是一样的,
都含有app、bin、lib等内容,目的在于方便区分原生、方案商、产品商区分各自提供的程序和访问权限的控制
(在10以后基本是相互不可访问,不可相互调用)。fastboot动态分区目的是为了减少空间的冗余,
同时提高OTA时候分区大小变化的鲁棒性。
其余没有固件的分区都是在Android运行过程中自动使用的,有的是cache,有的是安全密钥等信息。
如果使用RK的生产固件打包工具,会生成唯一的update.img,该img打包了上诉所有固件内容,方便生产环境使用。
|
|