ROM developers modify the scatter file when repartitioning to enlarge system for GApps or custom features. They then provide a custom scatter with their ROM package.
A scatter file (usually named MTxxxx_Android_scatter.txt) is a configuration file that describes the partition layout of an Android device’s flash memory (eMMC or UFS storage). It is primarily used by MediaTek (MTK) flashing tools like SP Flash Tool, SP Multi-Port Flash Tool, and certain Unisoc (Spreadtrum) tools.
Think of it as a map for your phone’s internal storage. The scatter file tells the flashing software:
Without the correct scatter file, the flashing tool cannot know where to write the firmware files. Writing data to the wrong address can hard-brick your device—turning it into an expensive paperweight. scatter file for all android phones
Solution: Always match the scatter file to the exact firmware build number (e.g., V12.5.10.0.RKLMIXM).
To answer the original query directly: There is no single "scatter file for all android phones." Each phone model (often each firmware version) has its own unique scatter file. Searching for a universal one will lead to frustration or bricked devices.
However, locating the correct scatter file is straightforward if you follow the proper channels: ROM developers modify the scatter file when repartitioning
Whether you are a professional repair technician, a custom ROM developer, or a hobbyist trying to unbrick your personal phone, understanding scatter files empowers you to safely work with MediaTek-based Android phones. Treat the scatter file as the critical surgical map it is – precise, unique, and absolutely necessary.
Note: Flashing firmware always carries risk. This guide is for educational purposes. Always ensure you have proper backups and understand the consequences of modifying partition tables. When in doubt, consult a professional.
There is no “one scatter file fits all Android phones.” Each device has a unique partition map. For safe flashing or unbricking, always obtain the exact scatter file that came with your device’s factory firmware. A scatter file (usually named MTxxxx_Android_scatter
If you need to create a generic tool that works across phones, consider using dynamic partition detection (reading GPT or MBR on the fly) rather than a static scatter file.
It includes all standard partitions and explanations so you can adapt it to specific devices if needed.
# General Scatter File for Android Phones (MTK Platform)
#适用于大多数MTK安卓手机的通用分区表
# Note: Actual partition sizes and addresses vary by device.
# You must verify with your device's specific firmware.
##################################################################################################
# General Settings
##################################################################################################
- general: MTK_PLATFORM_CFG
info:
platform: MTXXXX,
page_size: 0x1000,
reserved: 0x0
##################################################################################################
# Preloader (BootROM stage 1)
##################################################################################################
- partition_index: 0
partition_name: preloader
file_name: preloader_*.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x400000
region: EMMC_BOOT_1
##################################################################################################
# Partition Index 1: PGPT (Primary GPT)
##################################################################################################
- partition_index: 1
partition_name: pgpt
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x8000
region: EMMC_USER
##################################################################################################
# Partition Index 2: Bootloader stage 2 (Little Kernel / U-Boot)
##################################################################################################
- partition_index: 2
partition_name: lk
file_name: lk.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x80000
physical_start_addr: 0x80000
partition_size: 0x100000
region: EMMC_USER
##################################################################################################
# Partition Index 3: Bootloader environment
##################################################################################################
- partition_index: 3
partition_name: boot_para
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x180000
physical_start_addr: 0x180000
partition_size: 0x100000
region: EMMC_USER
##################################################################################################
# Partition Index 4: NVRAM (Wi-Fi/BT/MAC addresses, IMEI)
##################################################################################################
- partition_index: 4
partition_name: nvram
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x280000
physical_start_addr: 0x280000
partition_size: 0x500000
region: EMMC_USER
##################################################################################################
# Partition Index 5: Security-related (keystore, TEE)
##################################################################################################
- partition_index: 5
partition_name: seccfg
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x780000
physical_start_addr: 0x780000
partition_size: 0x800000
region: EMMC_USER
##################################################################################################
# Partition Index 6: OEM / custom parameters
##################################################################################################
- partition_index: 6
partition_name: para
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xf80000
physical_start_addr: 0xf80000
partition_size: 0x80000
region: EMMC_USER
##################################################################################################
# Partition Index 7: Boot logo image
##################################################################################################
- partition_index: 7
partition_name: logo
file_name: logo.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1000000
physical_start_addr: 0x1000000
partition_size: 0x1000000
region: EMMC_USER
##################################################################################################
# Partition Index 8: Trusted Execution Environment OS
##################################################################################################
- partition_index: 8
partition_name: tee
file_name: trustzone.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x2000000
physical_start_addr: 0x2000000
partition_size: 0x500000
region: EMMC_USER
##################################################################################################
# Partition Index 9: Android kernel
##################################################################################################
- partition_index: 9
partition_name: boot
file_name: boot.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x2500000
physical_start_addr: 0x2500000
partition_size: 0x2000000
region: EMMC_USER
##################################################################################################
# Partition Index 10: Recovery mode kernel+ramdisk
##################################################################################################
- partition_index: 10
partition_name: recovery
file_name: recovery.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x4500000
physical_start_addr: 0x4500000
partition_size: 0x2000000
region: EMMC_USER
##################################################################################################
# Partition Index 11: Device-specific parameters (KB/LCD/IC config)
##################################################################################################
- partition_index: 11
partition_name: custom
file_name: custom.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x6500000
physical_start_addr: 0x6500000
partition_size: 0x2000000
region: EMMC_USER
##################################################################################################
# Partition Index 12: Kernel command line / misc boot info
##################################################################################################
- partition_index: 12
partition_name: misc
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x8500000
physical_start_addr: 0x8500000
partition_size: 0x80000
region: EMMC_USER
##################################################################################################
# Partition Index 13: Metadata for encrypted userdata
##################################################################################################
- partition_index: 13
partition_name: metadata
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x8580000
physical_start_addr: 0x8580000
partition_size: 0x2000000
region: EMMC_USER
##################################################################################################
# Partition Index 14: OEM system partition A (Android OS)
##################################################################################################
- partition_index: 14
partition_name: system_a
file_name: system.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xa580000
physical_start_addr: 0xa580000
partition_size: 0xc0000000
region: EMMC_USER
##################################################################################################
# Partition Index 15: OEM system partition B (for A/B OTA)
##################################################################################################
- partition_index: 15
partition_name: system_b
file_name: system_other.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xca580000
physical_start_addr: 0xca580000
partition_size: 0xc0000000
region: EMMC_USER
##################################################################################################
# Partition Index 16: Vendor apps and libs
##################################################################################################
- partition_index: 16
partition_name: vendor
file_name: vendor.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x18a580000
physical_start_addr: 0x18a580000
partition_size: 0x40000000
region: EMMC_USER
##################################################################################################
# Partition Index 17: Product-specific customizations
##################################################################################################
- partition_index: 17
partition_name: product
file_name: product.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1ca580000
physical_start_addr: 0x1ca580000
partition_size: 0xc0000000
region: EMMC_USER
##################################################################################################
# Partition Index 18: Cache partition
##################################################################################################
- partition_index: 18
partition_name: cache
file_name: cache.img
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x28a580000
physical_start_addr: 0x28a580000
partition_size: 0x20000000
region: EMMC_USER
##################################################################################################
# Partition Index 19: User data (internal storage + apps)
##################################################################################################
- partition_index: 19
partition_name: userdata
file_name: userdata.img
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x2aa580000
physical_start_addr: 0x2aa580000
partition_size: 0x180000000
region: EMMC_USER
##################################################################################################
# Partition Index 20: Flash info (backup GPT header)
##################################################################################################
- partition_index: 20
partition_name: flashinfo
file_name: N/A
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFFFFFFFFFF
physical_start_addr: 0x0
partition_size: 0x1000000
region: EMMC_USER
If you have a full ROM dump (e.g., full_flash.bin), tools like MtkDroidTools or SP Flash Tool (Read Back) can reconstruct the scatter file by scanning the GPT or MBR.
Example snippet (representative only — DO NOT use on a real device without device-specific values):
- partition_index: 0
partition_name: PRELOADER
file_name: preloader.bin
is_download: true
type: NORMAL
linear_start_addr: 0x00000000
physical_start_addr: 0x00000000
partition_size: 0x00040000
- partition_index: 1
partition_name: MBR
file_name: MBR
is_download: true
type: NORMAL
linear_start_addr: 0x00040000
physical_start_addr: 0x00040000
partition_size: 0x00002000
...