Hi, Guest! Login / Register




Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5

[Tutorial] How to manually create or modify a scatter file for a Mediatek (MTK) Android phone

#1
(This post was last modified: 07-07-2017, 06:58 PM by hovatek. )

Creating a scatter file for an MTK Android phone was very easy in older Mediatek phones using the MTK Droid Tools method @ https://forum.hovatek.com/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://forum.hovatek.com/thread-468.html wont work. To backup such phones, you would need to do an SP flash tool readback using https://forum.hovatek.com/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


Steps to manually create or modify a scatter file


  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://forum.hovatek.com/thread-10111.html
  3. Once the phone gets detected, click on Blocks Map
  4. You should see something like in the image below

    [Image: how-to-manually-create-a-scatter-file-fo...-phone.jpg]

  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://forum.hovatek.com/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



Need further assistance? Speak with a Hovatek Representative:
Working Hours: Mondays - Saturdays ; 09:00 - 18:00 (GMT +1:00)
Reply
#2
Interesting, thanks but Please can i get a video tutorial for this?
Reply
#3
(04-16-2016, 09:40 PM)hovatek Wrote: Creating a scatter file for an MTK Android phone was very easy in older Mediatek phones using the MTK Droid Tools method @ https://forum.hovatek.com/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://forum.hovatek.com/thread-468.html wont work. To backup such phones, you would need to do an SP flash tool readback using https://forum.hovatek.com/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://forum.hovatek.com/thread-468.html)
* Download a scatter file for the phone's chipset (e.g MT65**_Android_scatter) @ https://forum.hovatek.com/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://forum.hovatek.com/thread-10111.html
3. Once the phone gets detected, click on Blocks Map
4. You should see something like in the image below

[Image: how-to-manually-create-a-scatter-file-fo...-phone.jpg]

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://forum.hovatek.com/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




bmtpool is in my Block Maps but i can't find it in the scatter files

Sent from my M5 mini using Hovatek mobile
Reply
#4
(04-22-2016, 01:15 AM)lakunle1love Wrote: 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
Need further assistance? Speak with a Hovatek Representative:
Working Hours: Mondays - Saturdays ; 09:00 - 18:00 (GMT +1:00)
Reply
#5
(04-22-2016, 02:30 PM)hovatek Wrote:
(04-22-2016, 01:15 AM)lakunle1love Wrote: 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




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
Reply
#6
(04-22-2016, 02:36 PM)lakunle1love Wrote: 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?
Need further assistance? Speak with a Hovatek Representative:
Working Hours: Mondays - Saturdays ; 09:00 - 18:00 (GMT +1:00)
Reply
#7
(04-22-2016, 05:05 PM)hovatek Wrote:
(04-22-2016, 02:36 PM)lakunle1love Wrote: 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?



GIONEE m5 mini, 16gig rom, 2gig ram, MT6580, Mali 400

Sent from my M5 mini using Hovatek mobile
Reply
#8
(04-22-2016, 05:19 PM)lakunle1love Wrote: GIONEE m5 mini, 16gig rom, 2gig ram, MT6580, Mali 400

Sent from my M5 mini using Hovatek mobile

Already replied @ https://forum.hovatek.com/thread-12802.html

Need further assistance? Speak with a Hovatek Representative:
Working Hours: Mondays - Saturdays ; 09:00 - 18:00 (GMT +1:00)
Reply
#9
(04-22-2016, 07:16 PM)hovatek Wrote:
(04-22-2016, 05:19 PM)lakunle1love Wrote: GIONEE m5 mini, 16gig rom, 2gig ram, MT6580, Mali 400

Sent from my M5 mini using Hovatek mobile

Already replied @ https://forum.hovatek.com/thread-12802.html




Okay Sir.

Sent from my M5 mini using Hovatek mobile
Reply
#10
I've removed the parts from Scatter file that are not present in the block info.

But on the scatter file I've downloaded the parts were going as :
partition_index: SYS0
partition_index: SYS1
partition_index: SYS2
partition_index: SYS3

....

Now as I removed some of them the order is broken, should I fix it according to the "N" column in Block Info?
Reply










Users browsing this thread:
1 Guest(s)