android bootimg systemimg dataimg

Android系统编译后生成boot.img、system.img、data.img等img文件。boot.img包含boot header、kernel、ramdisk(包含init进程)和可选的second stage loader。system.img是主要系统文件,使用unyaffs或simg2img进行解压。userdata.img和cache.img用于存储业务数据,可使用fastboot -w删除。

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

做android系统的兄弟都知道,android系统编译完成后生成的目标文件会包含几个img boot.img system.img data.img 等
可以通过fastboot 工具,在fastboot 环境下执行fastboot 命令烧录进去。
例如: fastboot flash boot boot.img

烧录完后,这几个img会挂载到文件系统中相应的地方,系统就可以读取操作了。

bootimg 构成 压缩解压

kernel的编译完后的文件格式是zimage格式,而根目录编译完后会以cpio压缩后生成个ramdisk文件。最后会用android 自带的工具mkbootimg生成boot.img文件而boot.img中不光为这两个部分,具体可以用开源工具unbootimg repack-zImage 解压看到由文件头信息boot header,压缩的内核,文件系统数据ramdisk以及second stage loader(可选)组成,它们之间非页面对齐部分用0填充,可以从bootimg.h文件中看到。

** +—————–+
** | boot header | 1 page
** +—————–+
** | kernel | n pages
** +—————–+
** | ramdisk | m pages
** +—————–+
** | second stage | o pages
** +—————–+

second stage可有可无 如上所说kernel再zImge中
根目录内容压缩再ramdisk中,也就是说开机流程中很重要的init进程再ramdisk中如果修改init进程就需要烧写boot.img而不是system.img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值