If you are still tinkering with legacy MediaTek devices, you know the MT6577 platform. It was the powerhouse behind classic devices like the Lenovo P770, various clones, and early dual-core Android phones.
But if you are here, you likely aren't just using the phone—you are trying to unbrick it. You’ve hit the dreaded BROM Error or a verification failure.
In this deep dive, we are looking at how to get "better" results when flashing MT6577 devices by understanding the relationship between the Android Scatter file and the EMMCTXT partition.
linear_start_addr vs physical_start_addr : On the MT6577, these are almost always identical. Unlike Qualcomm’s MSM devices (which have separate "Programmer" offsets), MediaTek’s Preloader and MBR run directly from eMMC offset 0x0. The linear_start_addr is the actual byte offset into the /dev/block/mmcblk0 device.region: EMMC_USER : This specifies the eMMC logical partition. eMMC 4.41 supports four regions: User (RPMB disabled), BOOT1, BOOT2, and RPMB. The MT6577 Preloader rarely touches the Boot partitions; everything lives in the User region.type: YAFFS_IMG : This is a historical anomaly. Even though the hardware is eMMC, MediaTek’s extract_YAFFS tooling and SP Flash Tool still used YAFFS headers for system.img and userdata.img to store SPARE area metadata (specifically the oob struct for ACLs). Technically, the eMMC stores raw ext4 data, but the MT6577 bootloader expects a YAFFS2 footer to verify block integrity during the download agent handshake.There is no official “emmc.txt” in MT6577 tools. You likely mean:
cat /proc/partitions or partprobe on a rooted device.However, some custom ROM developers called a manually extracted partition layout “emmc.txt” for convenience.
If system_raw.bin doesn't start with ext4 magic (0xEF53 at offset 0x38) or a YAFFS tag, your scatter file’s linear_start_addr is corrupt.
Using a generic scatter file often sends the DA to the wrong eMMC user area. A better scatter file aligns with the device’s region table (EMMC_USER vs EMMC_BOOT1 vs EMMC_BOOT2). MT6577 expects all main partitions in EMMC_USER. Mismatch = immediate failure.