[Tutorial] How to create scatter file for Mediatek devices
[Tutorial] How to create scatter file for Mediatek devices
The procedure below will teach you how to easily build a scatter file from scratch or by modifying an existing one
#########################################__WwR_MTK__########################################################
#
# General Setting
#
#########################################__WwR_MTK__########################################################
- general: MTK_PLATFORM_CFG
info:
- config_version: V1.1.2
platform: MT6750
project: rlk6750_65_n
storage: EMMC
boot_channel: MSDC_0
block_size: 0x20000
############################################################################################################
#
# Layout Setting
#
############################################################################################################
- partition_index: SYS0
partition_name: preloader
file_name: preloader_rlk6750_65_n.bin
is_download: true
type: SV5_BL_BIN
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x40000
region: EMMC_BOOT_1
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BOOTLOADERS
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS1
partition_name: pgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x8000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS2
partition_name: recovery
file_name: recovery.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x8000
physical_start_addr: 0x8000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS3
partition_name: para
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1008000
physical_start_addr: 0x1008000
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS4
partition_name: expdb
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1088000
physical_start_addr: 0x1088000
partition_size: 0xA00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS5
partition_name: frp
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1A88000
physical_start_addr: 0x1A88000
partition_size: 0x100000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS6
partition_name: ppl
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1B88000
physical_start_addr: 0x1B88000
partition_size: 0x40000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS7
partition_name: nvdata
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x1BC8000
physical_start_addr: 0x1BC8000
partition_size: 0x2000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS8
partition_name: metadata
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x3BC8000
physical_start_addr: 0x3BC8000
partition_size: 0x2000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS9
partition_name: protect1
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x5BC8000
physical_start_addr: 0x5BC8000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS10
partition_name: protect2
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x63C8000
physical_start_addr: 0x63C8000
partition_size: 0xC38000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS11
partition_name: seccfg
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x7000000
physical_start_addr: 0x7000000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS12
partition_name: oemkeystore
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x7800000
physical_start_addr: 0x7800000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS13
partition_name: proinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x8000000
physical_start_addr: 0x8000000
partition_size: 0x300000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS14
partition_name: md1img
file_name: md1rom.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x8300000
physical_start_addr: 0x8300000
partition_size: 0x1800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS15
partition_name: md1dsp
file_name: md1dsp.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x9B00000
physical_start_addr: 0x9B00000
partition_size: 0x400000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS16
partition_name: md1arm7
file_name: md1arm7.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x9F00000
physical_start_addr: 0x9F00000
partition_size: 0x300000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS17
partition_name: md3img
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xA200000
physical_start_addr: 0xA200000
partition_size: 0x500000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS18
partition_name: nvram
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xA700000
physical_start_addr: 0xA700000
partition_size: 0x500000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BINREGION
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS19
partition_name: lk
file_name: lk.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xAC00000
physical_start_addr: 0xAC00000
partition_size: 0x100000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: true
reserve: 0x00
- partition_index: SYS20
partition_name: lk2
file_name: lk2.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xAD00000
physical_start_addr: 0xAD00000
partition_size: 0x100000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS21
partition_name: boot
file_name: boot.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xAE00000
physical_start_addr: 0xAE00000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS22
partition_name: logo
file_name: logo.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xBE00000
physical_start_addr: 0xBE00000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: false
empty_boot_needed: true
reserve: 0x00
- partition_index: SYS23
partition_name: tee1
file_name: trustzone1.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xC600000
physical_start_addr: 0xC600000
partition_size: 0x500000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: true
reserve: 0x00
- partition_index: SYS24
partition_name: tee2
file_name: trustzone2.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xCB00000
physical_start_addr: 0xCB00000
partition_size: 0x500000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS25
partition_name: secro
file_name: secro.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xD000000
physical_start_addr: 0xD000000
partition_size: 0x600000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS26
partition_name: keystore
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xD600000
physical_start_addr: 0xD600000
partition_size: 0xA00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS27
partition_name: system
file_name: system.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0xE000000
physical_start_addr: 0xE000000
partition_size: 0x100000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: true
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS28
partition_name: cache
file_name: cache.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x10E000000
physical_start_addr: 0x10E000000
partition_size: 0x1B000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS29
partition_name: userdata
file_name: userdata.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x129000000
physical_start_addr: 0x129000000
partition_size: 0x279DFBE00
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS30
partition_name: flashinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0080
physical_start_addr: 0x3A2DFBE00
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS31
partition_name: sgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0000
physical_start_addr: 0x3A3DFBE00
partition_size: 0x4200
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
is_upgradable: false
empty_boot_needed: false
reserve: 0x00
- partition_index: SYS28
partition_name: sgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0004
physical_start_addr: 0xFFFF0004
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
(16-04-2016, 09:40 PM)hovatek Creating a scatter file for an MTK Android phone was very easy in older Mediatek phones using the MTK Droid Tools method @ https://www.hovatek.com/forum/thread-2163.html. However, the latest version of MTK Droid Tools as at the time of this post (V 2.5.3) doesn't support the newer MTK Chipsets so the above method wont work.
Why would I want to manually create a scatter file?
As I earlier said, backing up a working phone (running on the newer chipsets) using the MTK Droid Tools method @ https://www.hovatek.com/forum/thread-468.html wont work. To backup such phones, you would need to do an SP flash tool readback using https://www.hovatek.com/forum/thread-526.html and backup one partition at a time (since MTK Droid Tools can't process ROM_0). The problem is you'll need a scatter file to do an SP Flash tool readback; so you're kind of back to square one.
The good news is that you can manually create or modify a scatter file to work for your device; making a backup via SP Flash Tool readback possible. Now, you know why you might need to modify a scatter file in certain situations.
Requirements
* MTK Droid tools & PdaNet (see https://www.hovatek.com/forum/thread-468.html)
* Download a scatter file for the phone's chipset (e.g MT65**_Android_scatter) @ https://www.hovatek.com/forum/thread-12724.html
* Notepad++ (Download @ https://notepad-plus-plus.org/)
Procedure
1. Setup MTK Droid Tools on the PC to ensure the phone gets detected
2. If the phone still doesn't get detected despite installing necessary drivers then it must be an ADB clash, fix that using https://www.hovatek.com/forum/thread-10111.html
3. Once the phone gets detected, click on Blocks Map
4. You should see something like in the image below
5. Open the scatter file using Notepad++, its content should look something like
Code:############################################################################################################
#
# General Setting
#
############################################################################################################
- general: MTK_PLATFORM_CFG
info:
- config_version: V1.1.2
platform: MT6580
project: d5110_infinix
storage: EMMC
boot_channel: MSDC_0
block_size: 0x20000
############################################################################################################
#
# Layout Setting
#
############################################################################################################
- partition_index: SYS0
partition_name: preloader
file_name: preloader_d5110_infinix.bin
is_download: true
type: SV5_BL_BIN
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x40000
region: EMMC_BOOT_1
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BOOTLOADERS
reserve: 0x00
- partition_index: SYS1
partition_name: pgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS2
partition_name: proinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x80000
physical_start_addr: 0x80000
partition_size: 0x300000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS3
partition_name: nvram
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x380000
physical_start_addr: 0x380000
partition_size: 0x500000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BINREGION
reserve: 0x00
- partition_index: SYS4
partition_name: protect1
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x880000
physical_start_addr: 0x880000
partition_size: 0xa00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS5
partition_name: protect2
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x1280000
physical_start_addr: 0x1280000
partition_size: 0xa00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS6
partition_name: seccfg
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1c80000
physical_start_addr: 0x1c80000
partition_size: 0x40000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS7
partition_name: lk
file_name: lk.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1cc0000
physical_start_addr: 0x1cc0000
partition_size: 0x60000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS8
partition_name: boot
file_name: boot.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1d20000
physical_start_addr: 0x1d20000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS9
partition_name: recovery
file_name: recovery.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x2d20000
physical_start_addr: 0x2d20000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS10
partition_name: para
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x3d20000
physical_start_addr: 0x3d20000
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS11
partition_name: logo
file_name: logo.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x3da0000
physical_start_addr: 0x3da0000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS12
partition_name: expdb
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x45a0000
physical_start_addr: 0x45a0000
partition_size: 0xa00000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS13
partition_name: recovery2
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x4fa0000
physical_start_addr: 0x4fa0000
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS14
partition_name: radio
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x5fa0000
physical_start_addr: 0x5fa0000
partition_size: 0x2000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS15
partition_name: vendor
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x7fa0000
physical_start_addr: 0x7fa0000
partition_size: 0xa000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS16
partition_name: odm
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x11fa0000
physical_start_addr: 0x11fa0000
partition_size: 0x4000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS17
partition_name: oem
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x15fa0000
physical_start_addr: 0x15fa0000
partition_size: 0x4000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS18
partition_name: frp
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x19fa0000
physical_start_addr: 0x19fa0000
partition_size: 0x100000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS19
partition_name: nvdata
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x1a0a0000
physical_start_addr: 0x1a0a0000
partition_size: 0x2000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS20
partition_name: metadata
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1c0a0000
physical_start_addr: 0x1c0a0000
partition_size: 0x2760000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS21
partition_name: oemkeystore
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1e800000
physical_start_addr: 0x1e800000
partition_size: 0x200000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS22
partition_name: secro
file_name: secro.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1ea00000
physical_start_addr: 0x1ea00000
partition_size: 0x600000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS23
partition_name: keystore
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1f000000
physical_start_addr: 0x1f000000
partition_size: 0x800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS24
partition_name: system
file_name: system.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x1f800000
physical_start_addr: 0x1f800000
partition_size: 0x70800000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS25
partition_name: cache
file_name: cache.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x90000000
physical_start_addr: 0x90000000
partition_size: 0x10000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS26
partition_name: userdata
file_name: userdata.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0xa0000000
physical_start_addr: 0xa0000000
partition_size: 0x60000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS27
partition_name: flashinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0084
physical_start_addr: 0xFFFF0084
partition_size: 0x1000000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
- partition_index: SYS28
partition_name: sgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0004
physical_start_addr: 0xFFFF0004
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
6. You will be modifying platform, linear_start_addr, physical_start_addr and partition_size
7. platform: MT65** must be the exact chipset of the phone e.g platform: MT6580 . Note that the scatter file for this example would then be named MT6580_Android_scatter
8. linear_start_addr will have the same value as physical_start_addr. To get this value for a given partition, you open the Blocks Map and convert the value under the Scatter column (for that partition) to Hex by replacing all Zeros (0) in front of the first non-Zero character with 0x
For example, in the image above, the Scatter value for recovery is 0002F80000; therefore, linear_start_addr = physical_start_addr = 0x2F80000
For boot, Scatter value = 0002980000 therefore, linear_start_addr = physical_start_addr = 0x2980000
9. For partition_size, you do the same as above but with the Size column. Recovery in the image above has a Size value of 0000600000; therefore, partition_size = 0x600000
10. Modify the values for each partition in the scatter file using the values from the Blocks Map then save.
11. You can then load the scatter file (click Scatter loading) in SP flash tool @ https://www.hovatek.com/forum/thread-159.html. If you did all correctly then the scatter file should be loaded without an error
Questions & Answers
Q: There are some partitions in the scatter file but not in my phone's Blocks Map, what values do I enter for such partitions in the scatter file
A: Just delete that whole record from the scatter file. One record is often something like
Code:- partition_index: SYS28
partition_name: sgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0004
physical_start_addr: 0xFFFF0004
partition_size: 0x80000
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
(22-04-2016, 01:15 AM)lakunle1love bmtpool is in my Block Maps but i can't find it in the scatter files
Sent from my M5 mini using Hovatek mobile
(22-04-2016, 02:30 PM)hovatek(22-04-2016, 01:15 AM)lakunle1love bmtpool is in my Block Maps but i can't find it in the scatter files
Sent from my M5 mini using Hovatek mobile
Ignore it
(22-04-2016, 02:36 PM)lakunle1love Okay, ignored.
Now i'm trying to backup a single partition which is boot.img but i'm getting "address or length bytes not align"
Please what should i do?
Sent from my M5 mini using Hovatek mobile
(22-04-2016, 05:05 PM)hovatek(22-04-2016, 02:36 PM)lakunle1love Okay, ignored.
Now i'm trying to backup a single partition which is boot.img but i'm getting "address or length bytes not align"
Please what should i do?
Sent from my M5 mini using Hovatek mobile
which phone model?
(22-04-2016, 05:19 PM)lakunle1love GIONEE m5 mini, 16gig rom, 2gig ram, MT6580, Mali 400
Sent from my M5 mini using Hovatek mobile
(22-04-2016, 07:16 PM)hovatek(22-04-2016, 05:19 PM)lakunle1love GIONEE m5 mini, 16gig rom, 2gig ram, MT6580, Mali 400
Sent from my M5 mini using Hovatek mobile
Already replied @ https://www.hovatek.com/forum/thread-12802.html