msm8909+android5.1分区及烧录的镜像文件介绍【转】
本文转载自:
EMMC的分区及其保存的文件
|
Partition label |
filename |
说明 |
|
PrimaryGPT |
gpt_main0.bin |
|
|
modem |
NON-HLOS.bin |
|
|
sbl1 |
sbl1.mbn |
|
|
sbl1bak |
sbl1.mbn |
|
|
aboot |
emmc_appsboot.mbn |
|
|
abootbak |
emmc_appsboot.mbn |
|
|
rpm |
rpm.mbn |
|
|
rpmbak |
rpm.mbn |
|
|
tz |
tz.mbn |
|
|
tzbak |
tz.mbn |
|
|
Pad |
无 |
|
|
modemst1 |
无 |
Copy of Modem File System (Encrypted) |
|
Modemst2 |
无 |
Copy of Modem File System (Encrypted) |
|
misc |
Misc.img |
|
|
fsc |
无 |
|
|
ssd |
无 |
Partition for ssd diag module. stores the encrypted RSA keys |
|
splash |
splash.img |
|
|
DDR |
无 |
Partition for DDR |
|
fsg |
无 |
Golden copy or backup of Modem File System (Encrypted). Also used to pre-populate the file system. |
|
sec |
sec.dat |
Sec.dat contains fuse settings, mainly for secure boot and oem setting |
|
boot |
boot.img |
|
|
system |
system.img |
|
|
persist |
persist.img |
|
|
cache |
cache.img |
|
|
recovery |
recovery.img |
|
|
devinfo |
无 |
Device information including:iis_unlocked, is_tampered, is_verified, charger_screen_enabled |
|
keystore |
无 |
Partition for keystore service |
|
oem |
无 |
It is meant for storing OEM specific info,我们可用来保存自定义信息 |
|
config |
无 |
Partition needed during display panel initialization. More info at Display_panel_configuration_in_Device_Tree |
|
userdata |
userdata.img |
|
|
用户可用空间 |
用户可用空间 |
|
|
BackupGPT |
gpt_backup0.bin |
下面依次介绍这些文件
Gpt_main0.bin
主GPT头和分区表
NON-HLOS.bin
modem image,是负责处理通讯协议相关的基带镜像
sbl1.mbn:
second bootloader1的缩写,是是在little kernel(lk)前启动,起到引导lk的作用,如果将该分区擦除,则设备表现为进入紧急下载模式,即,擦除该分区后,插入USB显示QDload端口。
emmc_appsboot.mbn:
(L)ittle (K)ernel bootloader镜像 在\device\qcom\common\generate_extra_images.mk指定如何编译,对应bootable文件夹
rpm.mbn:资源电源管理器,是高通MSM平台另外加的一块芯片,虽然与AP芯片打包在一起,但其是一个独立的ARM Core。之所以加这个东西,就是要控制整个电源相关的sharedresources,比如ldo,clock。负责与SMP,MPM交互进入睡眠或者唤醒整个系统。
tz.mbn:
是ARM TrustZone® 技术是系统范围的安全方法,基于安全需求和引导模式配置XPU,NAND MPU
Misc.img
Miscellaneous的简称,cpu加电之后,启动bootloader,(即是RK29xxLoader(L)_V2.08.bin),就会读取MISC分区获得来自Main system和Recovery的消息,并以此决定做何种操作。
\bootable\bootloader\lk\app\aboot\recovery.c的get_ffbm()读取misc.img,根据和核心板厂家的确认此文件他们用于生产,我们没用到,怪不得用Notepad++打开,全是NUL,如果不需要misc.img,rawprogram0.xml文件需要去掉misc相关的。
另一位朋友他们的Misc.img内容为ffbm-02NUL。
splash.img
存放开机的第一帧画面,splash.img的生成,参考:http://www.voidcn.com/blog/LoongEmbedded/article/p-6147215.html
Sec.dat
Sec.dat contains fuse settings, mainly forsecure boot and oem setting,是secboot(安全模式)用到的文件,目前我们虽然rawprogram0.xml用到sec.dat,但实际没有用到。
boot.img:由文件头(2k/4k)+kernel+ramdisk.img(根文件统)+dt.img(devicetree)组成,其中kernel对应于out\target\product\msm8909\obj\KERNEL_OBJ\arch\arm\boot下的zImage文件,和out\target\product\msm8909\kernel是同一个文件,只是被重新命名了,通过file zImage,可知zImage:Linux kernel ARM bootexecutable zImage(little-endian)
zimage由vmlinux加上解压代码经gzip压缩而成
ramdisk.img对应out\target\product\msm8909\root
system.img:
android系统镜像文件,对应out\target\product\msm8909\system文件夹。
Persist.img
Partition entry for persist image. whichcontains data which shouldn’t be changed after the device shipped, for example:calibration data of chips(WIFI, bt, camera, etc.),
certificates and other securityrelated files.
cache.img:对应cache分区
cache分区是安卓系统缓存区,保存系统最常访问的数据和应用程序。擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容,缓存内容会在后续手机使用过程中重新自动生成。
对应out\target\product\msm8909\cache文件夹,此文件夹没有内容,查看设备cache有backup和lost+found,backup虽然还有子文件夹目录,但都是空的。
recovery.img
This is specially designed for backup. Therecovery partition can be considered as an alternative boot partition
恢复模式的映像文件,由件头(2k/4k)+kernel+ramdisk_recovery.img(根文件统)+dt.img(device tree)组成,其中ramdisk_recovery.img对应out\target\product\msm8909\recovery\root
userdata.img
挂载到 /data 下的镜像,它包含了应用及用户相关的数据。对应out\target\product\msm8909\data目录。
Gpt_backup0.bin:备份的GPT头和分区表
相关知识:http://blog.csdn.net/loongembedded/article/details/51763187
除了上面的文件,在烧录时还需要下面一些文件
patch0.xml:和分区表有关,主要是关于GPTT分区表头和分区表项内容相关
可参考http://www.voidcn.com/blog/LoongEmbedded/article/p-6072230.html了解相关知识。
rawprogram0.xml
关于如何把镜像文件烧录到EMMC中,rawprogram0.xml是根据partition.xml生成,也就是分区表,高通会给论证的emmc根据经验值提供一个partition.xml 至于生成unspare格式,是方便QPST下载,但每次编译的时候都会根据镜像大小修订,在out\target\product\msm8909目录下生成新rawprogram.xml
相关链接:http://www.voidcn.com/blog/LoongEmbedded/article/p-6152203.html
prog_emmc_firehose_8909_ddr.mbn
QFIL软件烧录系统的时候,需要用到此文件,应该是关于EMMC、DDR的配置参数相关的
QCN为高通系统配置项文件,保存在efs分区中,被modem文件读取用的。
参考:
手机模式及分区
http://www.voidcn.com/blog/LoongEmbedded/article/p-6147214.html
高通智能机分区表详细解析
http://blog.sina.com.cn/s/blog_4597830b0102x3pt.html
msm8909+android5.1分区及烧录的镜像文件介绍【转】的更多相关文章
- [转]如何烧录tizen镜像文件?(图文教程)
http://blog.csdn.net/flydream0/article/details/9179143 上一篇文章我已讲过如何制作镜像文件(http://blog.csdn.net/flydre ...
- IAR产生可烧录的镜像文件
Technorati 标签: IAR 烧录镜像 在IAR中,产生能够使用烧录器烧写的hex文件的方法: 1. 只生成可烧写的hex文件: 1.1 在Project Option中的Link ...
- 在Mac中使用「dd」指令烧录ISO镜像文件到U盘
作者:超級efly 發布:2014-07-26 20:22 分類:電腦 閱讀:442 11條評論 大家在Windows系統下可以方便的使用UltraISO程式來燒錄「.ISO」, ...
- WINCE6.0+IMX515通过cfimager.exe烧录镜像文件
WINCE6.0+IMX515通过cfimager.exe烧录镜像文件 freescale提供了cfimager.exe工具,可在SD/MMC卡中烧录系统镜像文件和创建FAT文件,这样,我们可以不需要 ...
- Android系统的镜像文件的打包过程
在前面一篇文章中,我们分析了Android模块的编译过程.当Android系统的所有模块都编译好之后,我们就可以对编译出来的模块文件进行打包了.打包结果是获得一系列的镜像文件,例如system.img ...
- 攻城狮在路上(叁)Linux(二十四)--- linux设置开机挂载及镜像文件挂载
虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件 ...
- Linux基础: 挂载镜像文件(Mount & ISO)
ISO/Ghost 镜像文件概念(裸机安装,无光驱安装,跨平台安装) ISO是镜像文件:所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例 ...
- [转]如何制作tizen镜像文件(图文教程)?
http://blog.csdn.net/flydream0/article/details/9163119 之前已讲解了如何下载及编译tizen源码(http://blog.csdn.net/fly ...
- linux下挂载iso镜像文件(转)
挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的. 命令格式: mount [-t vfstype] [-o optio ...
随机推荐
- linux下yum安装maven
Maven 官网:http://maven.apache.org/ 源码安装 http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binarie ...
- oracle中的minus数据比对
1.要有唯一索引或者主键作为前提,减少数据冲突的数量,如示例标红的地方: 2.当有in查询的时候,尽量用exists,这样能提高查询效率: create table TF_F_USER_DIFF1 ...
- iOS tableView高度缓存
tableView计算完高度后,把高度缓存起来,避免下次重复计算,以减少不必要的消耗 // declare cellHeightsDictionary NSMutableDictionary *cel ...
- [译]GLUT教程 - 改变窗体大小
Lighthouse3d.com >> GLUT Tutorial >> Basics >> Resizing the Window 上一章的例子创建了两个窗体,命 ...
- C语言中的一个*和[]优先级问题
最近写着玩了这么一段代码 int Init(int **T, int v1, int v2, int v3) { *sizeof(int)))) exit(-); *T[]=v1, *T[]=v2, ...
- implicitly declaring function 'malloc' with type void *(unsigned long ) 错误 解决
errror : implicitly declaring function 'malloc' with type void *(unsigned long ) Be sure to includ ...
- subject相关信息
记录一下我的错误信息 在ssm+shiro整合的时候,发现这样一个问题,第一次登录进去之后,然后再登录,输入错误的用户名和密码,竟然仍然登录成功,突然想起来了,是不是login之后,logout之后这 ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型 Office 2 ...
- c#脚本控制shader
如图所示,c#脚本控制shader颜色. public class ControlColor : MonoBehaviour { , , , ); public Material mat; publi ...
- web安全之SQL注入---第三章 如何寻找sql注入?
借助逻辑推理1.识别web应用中所有输入点2.了解哪些类型的请求会触发异常3.检测服务器响应中的异常 总结: 输入点无非就是:地址栏.和输入框 输入康输入一些非法字符,导致后台的sql语句错误,