• 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镜像 在deviceqcomcommongenerate_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的消息,并以此决定做何种操作。

    ootableootloaderlkappaboot ecovery.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 argetproductmsm8909objKERNEL_OBJarcharmoot下的zImage文件,和out argetproductmsm8909kernel是同一个文件,只是被重新命名了,通过file zImage,可知zImage:Linux kernel ARM bootexecutable zImage(little-endian)

    zimage由vmlinux加上解压代码经gzip压缩而成

    ramdisk.img对应out argetproductmsm8909 oot

    system.img:

    android系统镜像文件,对应out argetproductmsm8909system文件夹。

    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 argetproductmsm8909cache文件夹,此文件夹没有内容,查看设备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 argetproductmsm8909 ecovery oot

    userdata.img

    挂载到 /data 下的镜像,它包含了应用及用户相关的数据。对应out argetproductmsm8909data目录。

    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 argetproductmsm8909目录下生成新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

     
  • 相关阅读:
    Razor 视图
    可选参数和命名参数
    CPU性能分析工具原理
    从硬件到语言,详解C++的内存对齐(memory alignment)
    谈谈C++的volatile关键字以及常见的误解
    C++11的value category(值类别)以及move semantics(移动语义)
    C++基于范围循环(range-based for loop)的陷阱
    C++模板入门教程(一)——模板概念与基本语法
    自己动手实现深度学习框架-8 RNN文本分类和文本生成模型
    自己动手实现深度学习框架-7 RNN层--GRU, LSTM
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/6557716.html
Copyright © 2020-2023  润新知