Tools

  • Adebar (Android Device Backup and Recovery, from here)
    • Checks /proc/dumchar_info (gives most details)
    • Checks /proc/mtd (second best solution, doesn’t exist in most new devices)
    • Checks /proc/emmc (third best solution, should have about as much as the previous ones)
    • Checks /dev/block/platform/\*/by-name (this is cross checked with the next option)
    • Checks /proc/partitions, cross checked with /proc/mounts (gives us at least the list of mounted partitions)
  • KPARTX
  • xmount
  • DiskInfo

To Refer

Notes

Sources

Notes

From “MTK Platform Partition Meaning”, from GitHub Gists

I first copy-pasted it verbatim, and made some minor modifications:

  • Capitalized partition names

  • Corrected grammar in some instances

  • Codified small lettered codenames

  • And I added numbers (not necessarily in the right order, just to count the number of partitions)

    • This list has 41 partitions :v
    1. PRELOADER
    • Pre-loader image
    • Handles all the download and secure boot procedures
    1. DSP_BL
    • DSP Boot Loader
    • MBR, EBR1, EBR2
    • ext4 file system partition index table
    1. PMT
    • Partition Management Table
    1. NVRAM
    • Non-Volatile RAM
    • Stores the hardware related information, such as the Calibration Data, MAC Address, IMEI ID, etc.
    1. SECCFG, SECSTATIC
    • Reserved for the security platform used
    1. PROTECT1 / PROTECT_F
    • Store SIM LOCK
    1. PROTECT2 / PROTECT_S
    • Backup SIM LOCK
    1. PGPT
    • Primary GUID Partition Table, compared with MBR
    1. SGPT
    • Secondary (Backup) GUID Partition Table
  • 10-11. OEMKEYSTORE, KEYSTORE

    • Image Authentication Key for Verified Boot (VB), not used yet
    1. TEE1
    1. TEE2
    • Backup of TEE1
    1. U-BOOT / LK
    • Second loader image
    • U-BOOT is a generic bootloader for embedded devices
    • LK stands for “Little Kernel”
    • Handles most hardware initializations and brings up the full Linux kernel
    1. BOOT IMAGE
    • Linux kernel image and its root file system
    1. RECOVERY
    • Recovery kernel image and its root file system
    • Handles all the system recovery and firmware update functionalities
    1. SEC_RO or SECRO
    • Reserved for the security platform used
    1. MISC / FOTA (in older devices)
    • Used for the recovery procedure (e.g. in case of power loss)
    1. LOGO
    • Boot-up logo image
    1. EXPDB
    • Stores the Exceptions Database
    1. SYSTEM
    • Android system image
    1. CACHE
    • Stores Android internal cache data or web cache data
    1. USERDATA
    • Used for Android system to store user data such as user contacts, settings, installed applications … etc
    1. FAT / INTSD
    • Internal SDCard on eMMC
    1. OTP
    • OTP (One Time Program) area on eMMC
    1. FLASHINFO
    • Flash tool download information
    1. BMTPOOL
    • Handles Bad Block Management (nandflash used and reserved on eMMC)
    1. PARA
    • Saves the parameters required for recovery
    1. FRP
    • Factory Reset Protection, used for Anti-Theft
    1. NVDATA
    • Stores data in data/nvram/
    1. PROINFO
    • An NVRAM partition, stores one struct by default, can be added
  • 32-35. MD1IMG, MD1DSP, MD1ARM7, MD3IMG

    • For Android M, the MD image has been changed into an MD standalone partition, all modem images will be loaded from the partitions: md1img, md1dsp, md1arm7 and md3img
  • 36-37. SCP1, SCP2

    • System Control Processor, used for recovery fail
  • 38-39. LK1, LK2

    • Used for the updating LK in case of an OTA update fail
    1. PERSIST
    • Stores data which will be stable for a long time
    1. METADATA
    • Stores the master key for data encryption
    1. NVCFG
    • NVRAM config, controlled by MTK_NVCONFIG_PARTITION_SUPPORT, not used yet
    1. CUST / CUSTOM / PRELOAD
    • Customization partition, controlled by MTK_CIP_SUPPORT
    1. EFUSE
    • Download baseband chip’s efuse
    1. PPL
    • Privacy Protection Lock, used for Anti-Theft