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 ...
随机推荐
- NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(三)
Precondition: hadoop 2.7.1 hbase 0.98.13 solr 5.2.1 / Apache Solr 4.8.1 http://archive.apache.org ...
- 卸载Linux自带openjdk
1.查看自带jdk版本 java -version 2.查看 rpm -qa | grep java 显示如下信息: java-1.4.2-gcj-compat-1.4.2.0-40jpp. ...
- 【Python+selenium Wendriver API】之鼠标悬停事件
# encoding=utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import ...
- Hibernate: 数据持久层框架
Hibernate 是一种Java语言下的对象关系映射解决方案. 它是使用GNU宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hi ...
- mysql case then 语句
- shell 获取文件名
1.获取文件名并修改文件名 2.$@ 遍历参数 3.赋值要加"" 4.if 判断注意空格 else后面不能跟then
- DB2恢复一例 SQL0928N
环境是AIX 6.1.DB2版本号9.7.0.7 首先查看db2主进程是否存在 ps -ef|grep db2sys 若不存在使用db2start打开数据库 备份介质为冷备数据源, cd 到介质所在文 ...
- Linux时间时区详解与常用时间函数
时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. Ø UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计 ...
- ios8 一些运行问题
iOS10相册相机闪退bughttp://www.jianshu.com/p/5085430b029fiOS 10 因苹果健康导致闪退 crashhttp://www.jianshu.com/p/5 ...
- eclipse里面用svn关联项目
eclipse里面共享项目经常会用到svn或者git插件 关联项目的步骤如下: 如果 点击finish会遇到卡住问题的话,不要着急,我们需要设置svn的client设置: 如果设置了之后还是很卡的话, ...