Easy Magic TWRP Installer for all MediaTek Devices ONLY (Developers ONLY)

Status
Not open for further replies.
Search This thread

yuweng

Senior Member
Feb 5, 2012
1,172
4,226
Credits
TWRP Lead Developer Dees_Troy for continuously developing, improving & maintaining TWRP, TeamWin team & numerous developers that has contributed to TWRP & many doesn't know its Igor Sorocean initially submitted MrJavum codes so that TWRP officially supports MediaTek devices & most importantly MrJavum for discovering TWRP works on MediaTek devices & written codes to support proper backup formatting for MTK device . . .
bo_zps0904409a.gif


This tool uses EnJens for repack based on the original Unpack/ Repack concept by Russian Master Shifu Michfood . . .
salute_zps09342dc6.gif


Not forgetting my Master Shifu Carliv who has taught me how to compile & continuously guiding me to the right direction, dhinesh77 for sharing his super simple technique to patch ubifs for TWRP, awaaas for sharing his tips & findings for building TWRP from source for MTK devices ( Updates ), cyberangel22k for beta-testing custpack backup/restore on MTK Alcatel, yazidkucrit for discovering that TWRP also works on MT6573 & all MTK Developers that has contributed to the MTK platform . . . :highfive:
Screenshot
1_zps692eac36.png
2_zpsccf36d6c.png
3_zps5e2df19f.png
4_zps1db3a616.png
Video Preview

Installation How-to

Double-click TWRP Setup.exe & read the on-screen instructions

Where is the Downloads . . .
Down_zps5d0e5d6c.jpg

Known problems on MTK devices

  • Mostly older intermediate MediaTek devices such as MT6589, MT6572 that comes with only 6Mb recovery partition, most probably won't work. However, it works on my legacy MT6573, MT6577 because its kernel is much smaller. There has been feedback from fellow xda members that some latter MediaTek devices comes with 7Mb & 8Mb. Latest MT6592 has a recovery partition of more than 8Mb.

  • In the past, there has been reports that Touch doesn't work at recovery on some MTK devices, try using different releases of kernels from your device. Recovery is independent so GB, ICS or JB kernel will work provided they are from your device. If you don't have different kernels from your device manufacturer either live without Touch or try porting other recovery, it might work.

  • This TWRP was compiled from source without adding any sauce or spice & it works for most MTK devices. However, if the mount USB doesn't work then refer to a.marduk solution . . . :good:

  • # Even though the MTK SoC is designed by MediaTek but the one that produces it is hundreds if not thousands of factories so some might use other combinations to boot up the recovery. It is a known problem that some MTK doesn't wanna boot up recovery the normal way so try Popey900 technique. Standard procedure : Take out the battery, wait a while, put it back, hold Volume Up or Down, don't let go then press the Power button until it boots up #
WARNING

DO NOT USE IT ON LOCKED BOOTLOADER MTK DEVICES SUCH AS ASUS, HTC, LG, SONY, MOTOROLA & OTHERS <- Click Here. IT WILL BRICK IT, refer to here for more info . . .

Even though wrong installation of custom recovery normally will bricks the recovery only however it is better to be safe than sorry.

TWRP is packed with many features so typically it will work on MTK devices with above 6Mb recovery partition however you can try your luck.

Tested working perfectly on my legacy MTK device, MT6573 & MT6577.
  • Make a Factory ROM backup first with MTK Droid Tools. My old guide here.
  • Install Flashify & make another backup of your current recovery first & also the boot.img too
  • Extract downloaded files to your Desktop, disable UAC & restart PC, double-click TWRP.exe & follow the on-screen for instructions.
YOUR TOOL DOESN'T WORK . . .

i've seen this at many threads & also mentioned this many times at my other threads, most frequent reply is it doesn't work, you have given nothing at all to figure out what went wrong . . .
alamak_zps2e31ed77.gif


Please list out as many info as possible then it'll be easier to trouble-shoot & read EVERYTHING before hands-on . . .
  1. What OS you are using on the PC & your MTK...
  2. Did you disable UAC & Anti-Virus
  3. Did you execute the porting tool at C: drive if you're using XP else then at your Desktop
  4. Did you try Run as Administrator
  5. Could it be some other software that you installed that interfere with the porting tool then uninstall it
  6. Did you try it on other PC with other version OS or even different USB port
  7. Try uninstall all previous adb driver -> Device Manager -> View -> Show hidden devices -> uninstall all ADB Interface/ Android device -> reboot -> re-install
    adb.jpg
  8. Did you try latest google ADB driver while for XP try this one
  9. Attach both log.txt from porting tool & recovery.log from TWRP, attach also stock recovery.img/ boot.img & ported TWRP recovery.img too so that i can compare it to see where it went wrong

Please bear in mind that this tool has been PROVEN to work & many has ported it to their MTK device so try to do you own trouble-shooting first & when you found the solution then you are most welcome to post it here . . . :good:

And if you do found a bug on this porting tool, please do report it here too so that i can fix it . . . :eek:
And pls do not quote the whole OP when replying . . .

Updates 03 July 2014
Great news, TWRP ubifs patch has been officially submitted to omni for review . . .

Attention all MTK ubifs users,

Guys, please hit the thanks button for dhinesh77 to show your gratitude & appreciation, he has taken all the trouble to get ubifs officially supported on TWRP even though he uses a Samsung nowadays . . .

Thanks bro for doing all this & going thru the hassle for the whole MTK ubifs community, you're the best . . . :highfive:
i've released AIO Compile TWRP script for MediaTek devices on BBQLinux so that you can build it on your own since i don't use MTK nowadays... :cool:

Changelog

XDA:DevDB Information
Easy Magic TWRP Installer for MediaTek Devices ONLY (Developers ONLY), Tool/Utility for all devices (see above for details)

Contributors
yuweng
Source Code: https://github.com/omnirom/android_bootable_recovery


Version Information
Status: Stable
Current Stable Version: 2.8.2.0
Stable Release Date: 2014-12-07

Created 2014-06-28
Last Updated 2016-03-27
 
Last edited:

yuweng

Senior Member
Feb 5, 2012
1,172
4,226
Features

Auto mode
- You don't need to know a thing & it'll port a working TWRP for your MTK & that is why it is called Magic . . .
brows_zpsda58f2fa.gif


Manual mode
- Let you choose either to use your boot.img or recovery.img for porting.
- Let you manually choose your device res, data/media device, flipped screen & uses all files from your stock recovery. Refer to here for more info . . .
- device resolutions
- data/media
- flipped screen

UnPack/ RePack mode
- Let you mod whatever you want with option to install it right away to your MTK

Requirement
- Requires Root
- Install adb driver
- Enable USB debugging
- Disable UAC
- Disable driver signature
- Compatibility with KitKat
- No need ro.secure=0 to run
recovery.fstab How-to

Updates
This porting tool is build on jellybean repo so that it can support three generation of MTK SoC with non-device specific build flags to maintain compatibility. Below specific build flags are not use & it seem that the 2.8.1.0 porting tool doesn't work across MTK device. However, fyi, it works fine on mine

TW_INTERNAL_STORAGE_PATH := "/data/media"
TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
TW_EXTERNAL_STORAGE_PATH := "/sdcard"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "sdcard"

TW_INTERNAL_STORAGE_PATH := "/emmc"
TW_INTERNAL_STORAGE_MOUNT_POINT := "emmc"
TW_EXTERNAL_STORAGE_PATH := "/sdcard"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "sdcard"

SP1_NAME := "uboot"
SP1_DISPLAY_NAME := "uboot"
SP1_BACKUP_METHOD := image
SP1_MOUNTABLE := 0
SP2_NAME := "nvram"
SP2_DISPLAY_NAME := "nvram"
SP2_BACKUP_METHOD := image
SP2_MOUNTABLE := 0
SP3_NAME := "custpack"
SP3_DISPLAY_NAME := "custpack"
SP3_BACKUP_METHOD := image
SP3_MOUNTABLE := 0
So pls refer to here <- *RECOVERY.FSTAB* to use the different flags to properly support your MTK device.

With non-device specific build flags, compatibility can be maintained across MTK SoC, you only need to mod the recovery.fstab. Having said that, i need users feedback so that i can incorporate those changes or this porting tool will remain as it is on every new release.

It seems that you need to label Sdcard as Internal Storage or External Storage to properly support proper BackUp/ Restore function. Refer to here for more info . . .

TTF font is also disable to maintain compatibility across MTK SoC.

-------------------------------------------

Preface
As mentioned few times, i don't own all the MTK devices available on the market so a few things might not work on your MTK. So use the UnPack/ RePack mode to edit necessary files typically the init.rc & recovery.fstab.

UnPack other MTK TWRP by other DEVs & see how they did it.

google your device info & search github & see how they did it, Eg. here for USB-OTG Thanks to hehua2008 the only one that published/ i can find for MTK TWRP.

As mentioned few times, the porting tool now is AIO so go ahead & play with it.

Intro
What is recovery.fstab

The actual require backup partition for MTKs or any android devices are actually ONLY just the boot, cache, data & system partition.

When you encounter any problems such as doesn't boot/ bootloop issues after a new app installation or anything at all, a Wipe Data/ Factory Reset or Restore with ONLY the system & data partition & you'll be able to revert to previous working state in a short while. Thats why its very important to make a backup before modding anything at all !

For bootloop issues with new firmware installation (update.zip) then its best to restore everything. Having said that, if you flash preloader using SP Flash Tool then TWRP restore would not be able to restore it, thats why it is important to backup your Factory ROM with MTK Droid Root & Tools first.

How to identify MTK partition
WARNING : Might corrupt or brick your MTK when you specify the wrong partition at recovery.fstab ! You have been fore-warned . . .

adb shell cat /proc/dumchar_info OR adb shell cat /proc/mtd

Below are typical MTK partition layout
Code:
Part_Name       Size    StartAddr       Type    MapTo
preloader    0x0000000000040000   0x0000000000000000   2   /dev/misc-sd
dsp_bl       0x00000000005c0000   0x0000000000040000   2   /dev/misc-sd
mbr          0x0000000000004000   0x0000000000000000   2   /dev/block/mmcblk0
ebr1         0x0000000000004000   0x0000000000004000   2   /dev/block/mmcblk0p1
pmt          0x0000000000400000   0x0000000000008000   2   /dev/block/mmcblk0
[COLOR="Blue"]nvram[/COLOR]        0x0000000000500000   0x0000000000408000   2   /dev/block/mmcblk0
seccfg       0x0000000000020000   0x0000000000908000   2   /dev/block/mmcblk0
[COLOR="blue"]uboot[/COLOR]        0x0000000000060000   0x0000000000928000   2   /dev/block/mmcblk0
bootimg      0x0000000000600000   0x0000000000988000   2   /dev/block/mmcblk0
recovery     0x0000000000800000   0x0000000000f88000   2   /dev/block/mmcblk0
sec_ro       0x0000000000400000   0x0000000001788000   2   /dev/block/mmcblk0p2
misc         0x0000000000060000   0x0000000001b88000   2   /dev/block/mmcblk0
logo         0x0000000000300000   0x0000000001be8000   2   /dev/block/mmcblk0
expdb        0x0000000000200000   0x0000000001ee8000   2   /dev/block/mmcblk0
android      0x0000000020100000   0x00000000020e8000   2   /dev/block/mmcblk0p[COLOR="blue"]3[/COLOR]
cache        0x0000000020100000   0x00000000221e8000   2   /dev/block/mmcblk0p[COLOR="blue"]4[/COLOR]
usrdata      0x0000000020100000   0x00000000422e8000   2   /dev/block/mmcblk0p[COLOR="blue"]5[/COLOR]
fat          0x0000000085338000   0x00000000623e8000   2   /dev/block/mmcblk0p[COLOR="blue"]6[/COLOR]
bmtpool      0x0000000001500000   0x00000000ff9f00a8   2   /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate
Standard TWRP recovery.fstab for MTK devices
Code:
# mount point	fstype    device    	[device2]

/boot           emmc      /dev/bootimg
/recovery       emmc      /dev/recovery
/system         ext4      /dev/block/mmcblk0p[COLOR="Blue"]3[/COLOR]
/cache          ext4      /dev/block/mmcblk0p[COLOR="blue"]4[/COLOR]
/data           ext4      /dev/block/mmcblk0p[COLOR="blue"]5[/COLOR]
/emmc           vfat      /dev/block/mmcblk0p[COLOR="blue"]6[/COLOR]
/sdcard         vfat      /dev/block/mmcblk1p1    /dev/block/mmcblk1
/sd-ext         auto      /dev/block/mmcblk1p2
/nvram          emmc      /dev/nvram              flags=display="[COLOR="blue"]Nvram[/COLOR]";backup=1
/uboot          emmc      /dev/uboot              flags=display="[COLOR="blue"]Uboot[/COLOR]";backup=1

Thanks to MrJavum who discover that we can also backup Nvram & Uboot for MTK devices . . . :good:

MTK Uboot also consist of camera driver & this feature is extremely useful when you upgrade your device firmware, typically it will replace the Uboot & your camera doesn't work after that. A simple restore & you'll have your camera working again in no time.

MTK Nvram consist of your IMEI & this feature is extremely useful when you have corrupted it, a simple restore & you'll have your phone in working state again.

Below format was discovered by bgcngm & it has saved me a few lines of codes as MTK manufacturer tends to use different partition no. from each other. Eg. Some might be using mmcblk0p6 for system & some uses mmcblk0p3 while emmc@android will work on all MTK devices.
Code:
# mount point	fstype    device    	[device2]

/boot           emmc      /dev/bootimg
/recovery       emmc      /dev/recovery           flags=display="recovery";backup=1
/uboot          emmc      /dev/uboot              flags=display="uboot";backup=1
/nvram          emmc      /dev/nvram              flags=display="nvram";backup=1
/cache          ext4      /[COLOR="blue"]emmc@cache[/COLOR]
/data           ext4      /[COLOR="blue"]emmc@usrdata[/COLOR]
/system         ext4      /[COLOR="blue"]emmc@android[/COLOR]
/emmc           vfat      /[COLOR="blue"]emmc@fat[/COLOR]
/sdcard         vfat      /dev/block/mmcblk1p1    /dev/block/mmcblk1
/sd-ext         auto      /dev/block/mmcblk1p2

Having said that, few has reported back that its not compatible for their MTK then you'll need to unpack it & use the device block path /dev/block/mmcblk0pX instead of this soft-link emmc@android format. Use Notepad++ for editing. Updates : Porting tool now uses direct device block path.

Below examples are some of MrJavum TWRP recovery.fstab for MTKs
Code:
# mount point	fstype		device			[device2]

/boot           emmc            /dev/bootimg
/cache          ext4            /emmc@cache
/data           ext4            /emmc@usrdata
/misc           emmc            /dev/misc
/recovery       emmc            /dev/recovery
/system         ext4            /emmc@android
[COLOR="blue"]/preload[/COLOR]        ext4            /[COLOR="blue"]emmc@preload[/COLOR]           flags=display="[COLOR="blue"]Preload[/COLOR]";backup=1;wipeingui
/external_sd    vfat            /dev/block/mmcblk1p1    flags=display="External SD-card";storage;wipeingui;removable
/nvram          emmc            /dev/nvram              flags=display="Nvram";backup=1
/uboot          emmc            /dev/uboot              flags=display="Uboot";backup=1
/logo           emmc            /dev/logo               flags=display="Boot Logo";backup=1

#mt6582/recovery_emmc.fstab
To support preload partition you'll need to specify it at init.rc too.
Code:
    [COLOR="Blue"]mkdir /preload[/COLOR]
    mkdir /external_sd
    mkdir /system
    mkdir /data
    mkdir /cache
    mount /tmp /tmp tmpfs
Code:
/boot		emmc		/dev/bootimg
/cache		ext4		/emmc@cache
/data		ext4		/emmc@usrdata
/misc		emmc		/dev/misc
/recovery	emmc		/dev/recovery
/emmc		vfat		/emmc@fat		flags=display="Internal SD-card";storage;wipeingui;backup=1
/system		ext4		/emmc@android
/sdcard		vfat		/dev/block/mmcblk1p1	/dev/block/mmcblk1	flags=display="External SD-card";storage;wipeingui;removable
/nvram		emmc		/dev/nvram		flags=display="Nvram";backup=1
/uboot		emmc		/dev/uboot		flags=display="Uboot";backup=1
/[COLOR="blue"]logo[/COLOR]		emmc		[COLOR="blue"]/dev/logo[/COLOR]		flags=display="[COLOR="blue"]Boot Logo[/COLOR]";backup=1

Awaaas is so kind to shared with me his findings. He got help from bigbiff on the IRC & now TWRP can also backup EBR1 & SECRO. Refer to updates here.

CodeLover has added cust partition for his Huawei.
Code:
# mount point	fstype		device			[device2]

/boot        emmc    /dev/bootimg            flags=display="boot"
/misc        emmc    /dev/misc
/recovery    emmc    /dev/recovery           flags=display="recovery";backup=1
/uboot       emmc    /dev/uboot              flags=display="uboot";backup=1
/nvram       emmc    /dev/nvram              flags=display="nvram";backup=1
/cache       ext4    /emmc@cache             flags=display="cache"
/data        ext4    /emmc@usrdata           flags=display="data"
[COLOR="Blue"]/cust[/COLOR]        ext4    /[COLOR="blue"]emmc@cust[/COLOR]              flags=display="[COLOR="blue"]cust[/COLOR]";backup=1
/system      ext4    /emmc@android           flags=display="system"
/sdcard      vfat    /dev/block/mmcblk1p1    /dev/block/mmcblk1

init.rc with cust partition support.
Code:
	mkdir /boot
	mkdir /recovery
	mkdir /system
	mkdir /data
	[COLOR="blue"]mkdir /cust[/COLOR]
	mkdir /cache
	mkdir /sdcard
	mount tmpfs tmpfs /tmp

So its entirely up to you to specify what you want TWRP to backup on your MTK no need to compile a new one, just mod the recovery.fstab

For further info refer to the main thread here . . . :good:

For MTK Alcatel devices, besides /custpack there is also /mobile_info partition, again its entirely up to you whether you would wanna backup it too, credits to MrJavum for compiling the first TWRP version for it . . .
Code:
# mount point	fstype		device			[device2]

/boot		emmc	/dev/bootimg
/recovery	emmc	/dev/recovery
/cache		ext4	/emmc@cache
/data		ext4	/emmc@usrdata
/system		ext4	/emmc@android
/emmc		vfat	/emmc@fat
[COLOR="Blue"]/custpack[/COLOR]	ext4	/emmc@custpack		flags=display=[COLOR="blue"]custpack[/COLOR];backup=1
[COLOR="blue"]/mobile_info[/COLOR]	ext4	/emmc@mobile_info	flags=display=[COLOR="blue"]mobile_info[/COLOR];backup=1
/nvram		emmc	/dev/nvram		flags=display=Nvram;backup=1
/uboot		emmc	/dev/uboot		flags=display=Uboot;backup=1
/sdcard		vfat	/dev/block/mmcblk1p1	/dev/block/mmcblk1
/sd-ext		auto	/dev/block/mmcblk1p2
Code:
	mkdir /boot
	mkdir /recovery
	mkdir /system
	mkdir /data
	mkdir /cache
[COLOR="blue"]	mkdir /custpack
	mkdir /mobile_info[/COLOR]
	mkdir /sdcard
	mount tmpfs tmpfs /tmp
As mentioned many times, i don't own all MTK devices out there so some features might not work. To fix it & to learn more about modding recovery refer to my Master Shifu thread here & here . . . :good:
Ported recovery.img is too large & causes region overlap !

This tool is AIO so use the UnPack/ RePack feature to remove below known files that are safe to be deleted to save a few Kb. ( rmdisk/sbin folder ) Below list starts with less critical to critical
  1. Use awaaas technique to use basic theme
  2. Parted
  3. All *exfat*
  4. erase_image, dump_image
  5. flash_image <- You will not be able to flash modded EBR, MBR
  6. rmdisk/supersu folder <- You will not be able to Root via TWRP
  7. adbd <- No adb shell & mount USB storage but you still can use MTP
In fact in the past i have tested, there are quite a few more binary that you can safely remove from rmdisk/sbin folder. Of course you'll loose a few features but at least you can still use TWRP for basic backup & restore.

Delete one file at a time at rmdisk/sbin folder, repack it, until it let you auto-install it.

Updates
Found out that you can also zip the whole content of res folder, move it to /sdcard/TWRP/theme/ui.zip, delete whole res folder & that will work too but no splash screen . . . :cowboy:

if you want then remain res/images/curtain.jpg then splash screen will work . . .
TWRP Materialised Theme

Huge Credits to z31s1g, TWRP has never look so elegant & sophisticated ever before . . . :good:

As mentioned many times, this tool is AIO so unpack the ported recovery.img, download the various custom splash screen that you like, resize it to your device res, copy & paste it to res/images/curtain.jpg, Credits to PünchUp . . . :good:

i have ported to 480x854 res Dark Theme & Light Theme, credits to thewisenerd & Modding.MyMind & don't forget to hit the Thanks button for them . . . :good:

Dark & Light Theme porting to MTK
If you're using other themes other than 480x854 which is ported by me then Dark & Light Theme will not work properly on MTK . . . :cowboy:

Solution to Change Color on Dark & Light Themes to work on MTK
  1. Open ui.zip -> ui.xml & change all /sdcard/TWRP to /emmc/TWRP EXCEPTIONAL for two -> tw_filename=/sdcard/TWRP/aromafm/aromafm.zip & save it first.

    Tips : Use the search function -> Ctrl + f to search for above keyword & if you're a Windows users then use Notepad++ for editing . . .

  2. There are two occurrence -> ./zip -0 -r -u "/emmc/TWRP/theme/ui.zip" *; <- You'll need to delete both the -u.
    Code:
    mkdir "/cache/twrp";
    if [ -f "/emmc/TWRP/theme/ui.zip" ];
    then unzip -o "/emmc/TWRP/theme/ui.zip" -d "/cache/twrp";
    chmod 777 "/cache/twrp/zip";
    cp -r /cache/twrp/%tw_folder%/* "/cache/twrp/images";
    busybox mv "/cache/twrp/ui.xml" "/cache/twrp/ui_temp.xml";
    busybox sed "s/%text_highlight%/#%tw_text_color_highlight%/g" "/cache/twrp/ui_temp.xml" > "/cache/twrp/ui_temp2.xml";
    rm -f "/cache/twrp/ui_temp.xml";
    busybox sed "s/%text_actionbar%/#%tw_text_actionbar%/g" "/cache/twrp/ui_temp2.xml" > "/cache/twrp/ui.xml";
    rm -f "/cache/twrp/ui_temp2.xml";
    cd "/cache/twrp";
    [COLOR="blue"]./zip -0 -r "/emmc/TWRP/theme/ui.zip" *;[/COLOR]
    cd /;
    rm -r "/cache/twrp"
    else
Updates
/data/media device refer to here . . . :good:
Solution to Install Image on Dark & Light Themes to work on MTK

WARNING : Does not check whether the boot.img or recovery.img you're about to flash is oversize & that might brick your MTK if you have only 6Mb partition, you have been fore-warned . . .

When you select Install -> Top Menu Install Zip -> Install Zip or Install Image
  • Open ui.zip -> flashify -> META-INF -> com -> google -> android -> update-binary & edit as below . . .

    Replace Line 41 to 53 with below & save it first.
    Code:
    # Modded to work on MediaTek devices only
    case $image in
      boot*)
        imgtype="boot.img";;
      *recovery*)
        imgtype="recovery.img";;
      *)
        ui_print "No image file found to flash.";
        abort;;
    esac;
    Now at Line 66 to 74 replace with below, save it & now flashing MTK boot.img or recovery.img will work on Dark & Light Theme.
    Code:
    # Modded to work on MediaTek devices only
      if [ "$imgtype" == "boot.img" ]; then
        block=/dev/bootimg;
      elif [ "$imgtype" == "recovery.img" ]; then
        block=/dev/recovery;
      fi;
Aroma File Manager
It is a known problem that aromafm will not to work properly on flip-screen, this is not a TWRP problem as it has never been updated for almost a year.

Flip Touch on Flip Screen

It is a known problem that MTK manufacturer uses non-standard design & uses different Flip Screen/ Non-Flip LCD with different combinations of Flip/ Non-Flip Touch Screen on various Portrait & especially Landscape Android devices.

There is absolutely no way that the porting tool could detect whether your MTK's Touch is FlipX or FlipY or SwapXY so i build all possible combinations here -> View attachment 3039567, read the How-to use it. Built-in to porting tool -> Manual-mode
Bug report <- No support if you don't attach it to your post, pls refer to post #1 YOUR TOOL DOESN'T WORK . . .

Refer to here on how to submit a proper bug report . . . :good:

Please always attach recovery.log & log.txt from the porting tool or i'll be giving the wrong advice based on assumption & that might brick your device !

How to obtain recovery log
  1. adb pull /tmp/recovery.log -> Attach to your post
  2. At TWRP -> BackUp -> After Backup go to Advanced -> Copy Log to SDCard

    Typically you will find the recovery.log at

    Typical Internal SdCard
    /emmc/TWRP/BACKUPS/ [Your Device Name] / [Backup date] [ro.mediatek.version.release]

    or

    Typical External SdCard
    /sdcard/TWRP/BACKUPS/ [Your Device Name] / [Backup date] [ro.mediatek.version.release]

    Attach it to your post.
  3. At TWRP console (Square button at button) -> You can view the log
if you don't see me replying means either the answer is already at this thread so start reading every page, its not like there are 100 over pages, as of 10 Jan 2014, there are only 24 pages . . .

The 2nd reason you don't see me replying is i donno the answer then head up to the TWRP IRC channel to get help, refer to here for more info . . . :cowboy:
TWRP FAQ
 
Last edited:

yuweng

Senior Member
Feb 5, 2012
1,172
4,226
Questions & Answers


Q : Your tool doesn't work.
A : Its already explained at the OP, pls read EVERYTHING at Page 1 !

Q : I can't get adb to work on my PC.
A : Then get one of your device forum DEV to look at this porting tool.

Q : I have a MTK model xxx SoC YYY, does your porting tool support it.
A : The title already said it, for all MediaTek Devices ONLY except latest big.LITTLE/ Cortex-A53 use PhilZ Touch

Q : I have a MTK but i'm afraid the porting tool would brick my device.
A : Then don't use it ! Its for Developers ONLY !

Q : OP said DO NOT USE IT ON LOCKED BOOTLOADER but the link doesn't say much for MTK devices.
A : There isn't any guide to identify locked bootloader on MTKs, generally you'll have to flash the recovery.img to find out whether it bricks ! However, farenheith has confirmed by flashing back the original stock 3e recovery.img & his locked bootloader MTK Motorola boots back !

As explained BRANDED at the OP, UNBRANDED MTKs are generally MTKs directly from China, have unlock bootloaders.
List of supported MTK devices . . .
 
Last edited:

yuweng

Senior Member
Feb 5, 2012
1,172
4,226
Haha, you are most welcome, my friend . . . :highfive:

Any feedbacks on ubifs & if everything is working well then i'll contact Master Shifu Dees_Troy to submit dhinesh77 patch to have ubifs officially supported by TWRP . . .
brows_zpsda58f2fa.gif
 

FajarMF28

Senior Member
May 26, 2013
96
33
26
Gresik
fajarmf.blogspot.com
Amazing work!

It's been a while since i googled about MTK Devices. I've already compiled TWRP for Oppo Find Muse, which has the MTK6572. It's really pleasure to see that you've made a good job! :laugh::good:
Keep up the good work!
I'm not able to update my TWRP recovery coz my device already given to my mom :crying:
But i'm still browsing about the MTK Devices :laugh:
 
  • Like
Reactions: yuweng

wasd-

Senior Member
Jan 9, 2014
378
335
It says that my recovery partition its to small(6291456) and that i can lose my IMEI. How can i make the partition recovery bigger?
 

yuweng

Senior Member
Feb 5, 2012
1,172
4,226
As mentioned at the OP, it will most probably works on the latest MTK devices with above 6Mb, Eg : The latest MT6582, MT6592 or the obsolete MT6573, MT6575, MT6577 b'cos the kernel is so much smaller in size on these legacy devices . . .
i've published my findings on how to increase MTK recovery partition to 7Mb or 8Mb last year but many couldn't get it to work on their MT6589 . . .

Those that got it to work never shared it . . . :rolleyes: Hunt for key work 7Mb_TWRP.pdf. WARNING : You might brick your device in doing so . . . :cowboy:
 

wasd-

Senior Member
Jan 9, 2014
378
335
As mentioned at the OP, it will most probably works on the latest MTK devices with above 6Mb, Eg : The latest MT6582, MT6592 or the obsolete MT6573, MT6575, MT6577 b'cos the kernel is so much smaller in size on these legacy devices . . .
i've published my findings on how to increase MTK recovery partition to 7Mb or 8Mb last year but many couldn't get it to work on their MT6589 . . .

Those that got it to work never shared it . . . :rolleyes: Hunt for key work 7Mb_TWRP.pdf. WARNING : You might brick your device in doing so . . . :cowboy:

:good:

I prefer not to test it :D
 

hadiyalkishan

Senior Member
Aug 26, 2011
357
89
gujarat
Hello sir, I have a "mtk 6589t xolo q3000 with 4.4.2 kitkat os.
My stock recovery.imgs size is 6Mb and my stock boot.imgs size is also 6mb.
Is it possible to port twrp in my device ?
Will my mobile support your tool?

Sent from my Q3000 using XDA Premium 4 mobile app
 

daoodshah

Senior Member
Jan 18, 2014
89
18
Please upload it to some file sharing site rather than torrent..no seeds and leechers..

Sent from my Micromax A58 using xda app-developers app
 

daoodshah

Senior Member
Jan 18, 2014
89
18
Dwnload is nt getting any speed..thats the problem..as there are no seeds..

Sent from my Micromax A58 using xda app-developers app
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 184
    Credits
    TWRP Lead Developer Dees_Troy for continuously developing, improving & maintaining TWRP, TeamWin team & numerous developers that has contributed to TWRP & many doesn't know its Igor Sorocean initially submitted MrJavum codes so that TWRP officially supports MediaTek devices & most importantly MrJavum for discovering TWRP works on MediaTek devices & written codes to support proper backup formatting for MTK device . . .
    bo_zps0904409a.gif


    This tool uses EnJens for repack based on the original Unpack/ Repack concept by Russian Master Shifu Michfood . . .
    salute_zps09342dc6.gif


    Not forgetting my Master Shifu Carliv who has taught me how to compile & continuously guiding me to the right direction, dhinesh77 for sharing his super simple technique to patch ubifs for TWRP, awaaas for sharing his tips & findings for building TWRP from source for MTK devices ( Updates ), cyberangel22k for beta-testing custpack backup/restore on MTK Alcatel, yazidkucrit for discovering that TWRP also works on MT6573 & all MTK Developers that has contributed to the MTK platform . . . :highfive:
    Screenshot
    1_zps692eac36.png
    2_zpsccf36d6c.png
    3_zps5e2df19f.png
    4_zps1db3a616.png
    Video Preview

    Installation How-to

    Double-click TWRP Setup.exe & read the on-screen instructions

    Where is the Downloads . . .
    Down_zps5d0e5d6c.jpg

    Known problems on MTK devices

    • Mostly older intermediate MediaTek devices such as MT6589, MT6572 that comes with only 6Mb recovery partition, most probably won't work. However, it works on my legacy MT6573, MT6577 because its kernel is much smaller. There has been feedback from fellow xda members that some latter MediaTek devices comes with 7Mb & 8Mb. Latest MT6592 has a recovery partition of more than 8Mb.

    • In the past, there has been reports that Touch doesn't work at recovery on some MTK devices, try using different releases of kernels from your device. Recovery is independent so GB, ICS or JB kernel will work provided they are from your device. If you don't have different kernels from your device manufacturer either live without Touch or try porting other recovery, it might work.

    • This TWRP was compiled from source without adding any sauce or spice & it works for most MTK devices. However, if the mount USB doesn't work then refer to a.marduk solution . . . :good:

    • # Even though the MTK SoC is designed by MediaTek but the one that produces it is hundreds if not thousands of factories so some might use other combinations to boot up the recovery. It is a known problem that some MTK doesn't wanna boot up recovery the normal way so try Popey900 technique. Standard procedure : Take out the battery, wait a while, put it back, hold Volume Up or Down, don't let go then press the Power button until it boots up #
    WARNING

    DO NOT USE IT ON LOCKED BOOTLOADER MTK DEVICES SUCH AS ASUS, HTC, LG, SONY, MOTOROLA & OTHERS <- Click Here. IT WILL BRICK IT, refer to here for more info . . .

    Even though wrong installation of custom recovery normally will bricks the recovery only however it is better to be safe than sorry.

    TWRP is packed with many features so typically it will work on MTK devices with above 6Mb recovery partition however you can try your luck.

    Tested working perfectly on my legacy MTK device, MT6573 & MT6577.
    • Make a Factory ROM backup first with MTK Droid Tools. My old guide here.
    • Install Flashify & make another backup of your current recovery first & also the boot.img too
    • Extract downloaded files to your Desktop, disable UAC & restart PC, double-click TWRP.exe & follow the on-screen for instructions.
    YOUR TOOL DOESN'T WORK . . .

    i've seen this at many threads & also mentioned this many times at my other threads, most frequent reply is it doesn't work, you have given nothing at all to figure out what went wrong . . .
    alamak_zps2e31ed77.gif


    Please list out as many info as possible then it'll be easier to trouble-shoot & read EVERYTHING before hands-on . . .
    1. What OS you are using on the PC & your MTK...
    2. Did you disable UAC & Anti-Virus
    3. Did you execute the porting tool at C: drive if you're using XP else then at your Desktop
    4. Did you try Run as Administrator
    5. Could it be some other software that you installed that interfere with the porting tool then uninstall it
    6. Did you try it on other PC with other version OS or even different USB port
    7. Try uninstall all previous adb driver -> Device Manager -> View -> Show hidden devices -> uninstall all ADB Interface/ Android device -> reboot -> re-install
      adb.jpg
    8. Did you try latest google ADB driver while for XP try this one
    9. Attach both log.txt from porting tool & recovery.log from TWRP, attach also stock recovery.img/ boot.img & ported TWRP recovery.img too so that i can compare it to see where it went wrong

    Please bear in mind that this tool has been PROVEN to work & many has ported it to their MTK device so try to do you own trouble-shooting first & when you found the solution then you are most welcome to post it here . . . :good:

    And if you do found a bug on this porting tool, please do report it here too so that i can fix it . . . :eek:
    And pls do not quote the whole OP when replying . . .

    Updates 03 July 2014
    Great news, TWRP ubifs patch has been officially submitted to omni for review . . .

    Attention all MTK ubifs users,

    Guys, please hit the thanks button for dhinesh77 to show your gratitude & appreciation, he has taken all the trouble to get ubifs officially supported on TWRP even though he uses a Samsung nowadays . . .

    Thanks bro for doing all this & going thru the hassle for the whole MTK ubifs community, you're the best . . . :highfive:
    i've released AIO Compile TWRP script for MediaTek devices on BBQLinux so that you can build it on your own since i don't use MTK nowadays... :cool:

    Changelog

    XDA:DevDB Information
    Easy Magic TWRP Installer for MediaTek Devices ONLY (Developers ONLY), Tool/Utility for all devices (see above for details)

    Contributors
    yuweng
    Source Code: https://github.com/omnirom/android_bootable_recovery


    Version Information
    Status: Stable
    Current Stable Version: 2.8.2.0
    Stable Release Date: 2014-12-07

    Created 2014-06-28
    Last Updated 2016-03-27
    51
    Features

    Auto mode
    - You don't need to know a thing & it'll port a working TWRP for your MTK & that is why it is called Magic . . .
    brows_zpsda58f2fa.gif


    Manual mode
    - Let you choose either to use your boot.img or recovery.img for porting.
    - Let you manually choose your device res, data/media device, flipped screen & uses all files from your stock recovery. Refer to here for more info . . .
    - device resolutions
    - data/media
    - flipped screen

    UnPack/ RePack mode
    - Let you mod whatever you want with option to install it right away to your MTK

    Requirement
    - Requires Root
    - Install adb driver
    - Enable USB debugging
    - Disable UAC
    - Disable driver signature
    - Compatibility with KitKat
    - No need ro.secure=0 to run
    recovery.fstab How-to

    Updates
    This porting tool is build on jellybean repo so that it can support three generation of MTK SoC with non-device specific build flags to maintain compatibility. Below specific build flags are not use & it seem that the 2.8.1.0 porting tool doesn't work across MTK device. However, fyi, it works fine on mine

    TW_INTERNAL_STORAGE_PATH := "/data/media"
    TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
    TW_EXTERNAL_STORAGE_PATH := "/sdcard"
    TW_EXTERNAL_STORAGE_MOUNT_POINT := "sdcard"

    TW_INTERNAL_STORAGE_PATH := "/emmc"
    TW_INTERNAL_STORAGE_MOUNT_POINT := "emmc"
    TW_EXTERNAL_STORAGE_PATH := "/sdcard"
    TW_EXTERNAL_STORAGE_MOUNT_POINT := "sdcard"

    SP1_NAME := "uboot"
    SP1_DISPLAY_NAME := "uboot"
    SP1_BACKUP_METHOD := image
    SP1_MOUNTABLE := 0
    SP2_NAME := "nvram"
    SP2_DISPLAY_NAME := "nvram"
    SP2_BACKUP_METHOD := image
    SP2_MOUNTABLE := 0
    SP3_NAME := "custpack"
    SP3_DISPLAY_NAME := "custpack"
    SP3_BACKUP_METHOD := image
    SP3_MOUNTABLE := 0
    So pls refer to here <- *RECOVERY.FSTAB* to use the different flags to properly support your MTK device.

    With non-device specific build flags, compatibility can be maintained across MTK SoC, you only need to mod the recovery.fstab. Having said that, i need users feedback so that i can incorporate those changes or this porting tool will remain as it is on every new release.

    It seems that you need to label Sdcard as Internal Storage or External Storage to properly support proper BackUp/ Restore function. Refer to here for more info . . .

    TTF font is also disable to maintain compatibility across MTK SoC.

    -------------------------------------------

    Preface
    As mentioned few times, i don't own all the MTK devices available on the market so a few things might not work on your MTK. So use the UnPack/ RePack mode to edit necessary files typically the init.rc & recovery.fstab.

    UnPack other MTK TWRP by other DEVs & see how they did it.

    google your device info & search github & see how they did it, Eg. here for USB-OTG Thanks to hehua2008 the only one that published/ i can find for MTK TWRP.

    As mentioned few times, the porting tool now is AIO so go ahead & play with it.

    Intro
    What is recovery.fstab

    The actual require backup partition for MTKs or any android devices are actually ONLY just the boot, cache, data & system partition.

    When you encounter any problems such as doesn't boot/ bootloop issues after a new app installation or anything at all, a Wipe Data/ Factory Reset or Restore with ONLY the system & data partition & you'll be able to revert to previous working state in a short while. Thats why its very important to make a backup before modding anything at all !

    For bootloop issues with new firmware installation (update.zip) then its best to restore everything. Having said that, if you flash preloader using SP Flash Tool then TWRP restore would not be able to restore it, thats why it is important to backup your Factory ROM with MTK Droid Root & Tools first.

    How to identify MTK partition
    WARNING : Might corrupt or brick your MTK when you specify the wrong partition at recovery.fstab ! You have been fore-warned . . .

    adb shell cat /proc/dumchar_info OR adb shell cat /proc/mtd

    Below are typical MTK partition layout
    Code:
    Part_Name       Size    StartAddr       Type    MapTo
    preloader    0x0000000000040000   0x0000000000000000   2   /dev/misc-sd
    dsp_bl       0x00000000005c0000   0x0000000000040000   2   /dev/misc-sd
    mbr          0x0000000000004000   0x0000000000000000   2   /dev/block/mmcblk0
    ebr1         0x0000000000004000   0x0000000000004000   2   /dev/block/mmcblk0p1
    pmt          0x0000000000400000   0x0000000000008000   2   /dev/block/mmcblk0
    [COLOR="Blue"]nvram[/COLOR]        0x0000000000500000   0x0000000000408000   2   /dev/block/mmcblk0
    seccfg       0x0000000000020000   0x0000000000908000   2   /dev/block/mmcblk0
    [COLOR="blue"]uboot[/COLOR]        0x0000000000060000   0x0000000000928000   2   /dev/block/mmcblk0
    bootimg      0x0000000000600000   0x0000000000988000   2   /dev/block/mmcblk0
    recovery     0x0000000000800000   0x0000000000f88000   2   /dev/block/mmcblk0
    sec_ro       0x0000000000400000   0x0000000001788000   2   /dev/block/mmcblk0p2
    misc         0x0000000000060000   0x0000000001b88000   2   /dev/block/mmcblk0
    logo         0x0000000000300000   0x0000000001be8000   2   /dev/block/mmcblk0
    expdb        0x0000000000200000   0x0000000001ee8000   2   /dev/block/mmcblk0
    android      0x0000000020100000   0x00000000020e8000   2   /dev/block/mmcblk0p[COLOR="blue"]3[/COLOR]
    cache        0x0000000020100000   0x00000000221e8000   2   /dev/block/mmcblk0p[COLOR="blue"]4[/COLOR]
    usrdata      0x0000000020100000   0x00000000422e8000   2   /dev/block/mmcblk0p[COLOR="blue"]5[/COLOR]
    fat          0x0000000085338000   0x00000000623e8000   2   /dev/block/mmcblk0p[COLOR="blue"]6[/COLOR]
    bmtpool      0x0000000001500000   0x00000000ff9f00a8   2   /dev/block/mmcblk0
    Part_Name:Partition name you should open;
    Size:size of partition
    StartAddr:Start Address of partition;
    Type:Type of partition(MTD=1,EMMC=2)
    MapTo:actual device you operate
    Standard TWRP recovery.fstab for MTK devices
    Code:
    # mount point	fstype    device    	[device2]
    
    /boot           emmc      /dev/bootimg
    /recovery       emmc      /dev/recovery
    /system         ext4      /dev/block/mmcblk0p[COLOR="Blue"]3[/COLOR]
    /cache          ext4      /dev/block/mmcblk0p[COLOR="blue"]4[/COLOR]
    /data           ext4      /dev/block/mmcblk0p[COLOR="blue"]5[/COLOR]
    /emmc           vfat      /dev/block/mmcblk0p[COLOR="blue"]6[/COLOR]
    /sdcard         vfat      /dev/block/mmcblk1p1    /dev/block/mmcblk1
    /sd-ext         auto      /dev/block/mmcblk1p2
    /nvram          emmc      /dev/nvram              flags=display="[COLOR="blue"]Nvram[/COLOR]";backup=1
    /uboot          emmc      /dev/uboot              flags=display="[COLOR="blue"]Uboot[/COLOR]";backup=1

    Thanks to MrJavum who discover that we can also backup Nvram & Uboot for MTK devices . . . :good:

    MTK Uboot also consist of camera driver & this feature is extremely useful when you upgrade your device firmware, typically it will replace the Uboot & your camera doesn't work after that. A simple restore & you'll have your camera working again in no time.

    MTK Nvram consist of your IMEI & this feature is extremely useful when you have corrupted it, a simple restore & you'll have your phone in working state again.

    Below format was discovered by bgcngm & it has saved me a few lines of codes as MTK manufacturer tends to use different partition no. from each other. Eg. Some might be using mmcblk0p6 for system & some uses mmcblk0p3 while emmc@android will work on all MTK devices.
    Code:
    # mount point	fstype    device    	[device2]
    
    /boot           emmc      /dev/bootimg
    /recovery       emmc      /dev/recovery           flags=display="recovery";backup=1
    /uboot          emmc      /dev/uboot              flags=display="uboot";backup=1
    /nvram          emmc      /dev/nvram              flags=display="nvram";backup=1
    /cache          ext4      /[COLOR="blue"]emmc@cache[/COLOR]
    /data           ext4      /[COLOR="blue"]emmc@usrdata[/COLOR]
    /system         ext4      /[COLOR="blue"]emmc@android[/COLOR]
    /emmc           vfat      /[COLOR="blue"]emmc@fat[/COLOR]
    /sdcard         vfat      /dev/block/mmcblk1p1    /dev/block/mmcblk1
    /sd-ext         auto      /dev/block/mmcblk1p2

    Having said that, few has reported back that its not compatible for their MTK then you'll need to unpack it & use the device block path /dev/block/mmcblk0pX instead of this soft-link emmc@android format. Use Notepad++ for editing. Updates : Porting tool now uses direct device block path.

    Below examples are some of MrJavum TWRP recovery.fstab for MTKs
    Code:
    # mount point	fstype		device			[device2]
    
    /boot           emmc            /dev/bootimg
    /cache          ext4            /emmc@cache
    /data           ext4            /emmc@usrdata
    /misc           emmc            /dev/misc
    /recovery       emmc            /dev/recovery
    /system         ext4            /emmc@android
    [COLOR="blue"]/preload[/COLOR]        ext4            /[COLOR="blue"]emmc@preload[/COLOR]           flags=display="[COLOR="blue"]Preload[/COLOR]";backup=1;wipeingui
    /external_sd    vfat            /dev/block/mmcblk1p1    flags=display="External SD-card";storage;wipeingui;removable
    /nvram          emmc            /dev/nvram              flags=display="Nvram";backup=1
    /uboot          emmc            /dev/uboot              flags=display="Uboot";backup=1
    /logo           emmc            /dev/logo               flags=display="Boot Logo";backup=1
    
    #mt6582/recovery_emmc.fstab
    To support preload partition you'll need to specify it at init.rc too.
    Code:
        [COLOR="Blue"]mkdir /preload[/COLOR]
        mkdir /external_sd
        mkdir /system
        mkdir /data
        mkdir /cache
        mount /tmp /tmp tmpfs
    Code:
    /boot		emmc		/dev/bootimg
    /cache		ext4		/emmc@cache
    /data		ext4		/emmc@usrdata
    /misc		emmc		/dev/misc
    /recovery	emmc		/dev/recovery
    /emmc		vfat		/emmc@fat		flags=display="Internal SD-card";storage;wipeingui;backup=1
    /system		ext4		/emmc@android
    /sdcard		vfat		/dev/block/mmcblk1p1	/dev/block/mmcblk1	flags=display="External SD-card";storage;wipeingui;removable
    /nvram		emmc		/dev/nvram		flags=display="Nvram";backup=1
    /uboot		emmc		/dev/uboot		flags=display="Uboot";backup=1
    /[COLOR="blue"]logo[/COLOR]		emmc		[COLOR="blue"]/dev/logo[/COLOR]		flags=display="[COLOR="blue"]Boot Logo[/COLOR]";backup=1

    Awaaas is so kind to shared with me his findings. He got help from bigbiff on the IRC & now TWRP can also backup EBR1 & SECRO. Refer to updates here.

    CodeLover has added cust partition for his Huawei.
    Code:
    # mount point	fstype		device			[device2]
    
    /boot        emmc    /dev/bootimg            flags=display="boot"
    /misc        emmc    /dev/misc
    /recovery    emmc    /dev/recovery           flags=display="recovery";backup=1
    /uboot       emmc    /dev/uboot              flags=display="uboot";backup=1
    /nvram       emmc    /dev/nvram              flags=display="nvram";backup=1
    /cache       ext4    /emmc@cache             flags=display="cache"
    /data        ext4    /emmc@usrdata           flags=display="data"
    [COLOR="Blue"]/cust[/COLOR]        ext4    /[COLOR="blue"]emmc@cust[/COLOR]              flags=display="[COLOR="blue"]cust[/COLOR]";backup=1
    /system      ext4    /emmc@android           flags=display="system"
    /sdcard      vfat    /dev/block/mmcblk1p1    /dev/block/mmcblk1

    init.rc with cust partition support.
    Code:
    	mkdir /boot
    	mkdir /recovery
    	mkdir /system
    	mkdir /data
    	[COLOR="blue"]mkdir /cust[/COLOR]
    	mkdir /cache
    	mkdir /sdcard
    	mount tmpfs tmpfs /tmp

    So its entirely up to you to specify what you want TWRP to backup on your MTK no need to compile a new one, just mod the recovery.fstab

    For further info refer to the main thread here . . . :good:

    For MTK Alcatel devices, besides /custpack there is also /mobile_info partition, again its entirely up to you whether you would wanna backup it too, credits to MrJavum for compiling the first TWRP version for it . . .
    Code:
    # mount point	fstype		device			[device2]
    
    /boot		emmc	/dev/bootimg
    /recovery	emmc	/dev/recovery
    /cache		ext4	/emmc@cache
    /data		ext4	/emmc@usrdata
    /system		ext4	/emmc@android
    /emmc		vfat	/emmc@fat
    [COLOR="Blue"]/custpack[/COLOR]	ext4	/emmc@custpack		flags=display=[COLOR="blue"]custpack[/COLOR];backup=1
    [COLOR="blue"]/mobile_info[/COLOR]	ext4	/emmc@mobile_info	flags=display=[COLOR="blue"]mobile_info[/COLOR];backup=1
    /nvram		emmc	/dev/nvram		flags=display=Nvram;backup=1
    /uboot		emmc	/dev/uboot		flags=display=Uboot;backup=1
    /sdcard		vfat	/dev/block/mmcblk1p1	/dev/block/mmcblk1
    /sd-ext		auto	/dev/block/mmcblk1p2
    Code:
    	mkdir /boot
    	mkdir /recovery
    	mkdir /system
    	mkdir /data
    	mkdir /cache
    [COLOR="blue"]	mkdir /custpack
    	mkdir /mobile_info[/COLOR]
    	mkdir /sdcard
    	mount tmpfs tmpfs /tmp
    As mentioned many times, i don't own all MTK devices out there so some features might not work. To fix it & to learn more about modding recovery refer to my Master Shifu thread here & here . . . :good:
    Ported recovery.img is too large & causes region overlap !

    This tool is AIO so use the UnPack/ RePack feature to remove below known files that are safe to be deleted to save a few Kb. ( rmdisk/sbin folder ) Below list starts with less critical to critical
    1. Use awaaas technique to use basic theme
    2. Parted
    3. All *exfat*
    4. erase_image, dump_image
    5. flash_image <- You will not be able to flash modded EBR, MBR
    6. rmdisk/supersu folder <- You will not be able to Root via TWRP
    7. adbd <- No adb shell & mount USB storage but you still can use MTP
    In fact in the past i have tested, there are quite a few more binary that you can safely remove from rmdisk/sbin folder. Of course you'll loose a few features but at least you can still use TWRP for basic backup & restore.

    Delete one file at a time at rmdisk/sbin folder, repack it, until it let you auto-install it.

    Updates
    Found out that you can also zip the whole content of res folder, move it to /sdcard/TWRP/theme/ui.zip, delete whole res folder & that will work too but no splash screen . . . :cowboy:

    if you want then remain res/images/curtain.jpg then splash screen will work . . .
    TWRP Materialised Theme

    Huge Credits to z31s1g, TWRP has never look so elegant & sophisticated ever before . . . :good:

    As mentioned many times, this tool is AIO so unpack the ported recovery.img, download the various custom splash screen that you like, resize it to your device res, copy & paste it to res/images/curtain.jpg, Credits to PünchUp . . . :good:

    i have ported to 480x854 res Dark Theme & Light Theme, credits to thewisenerd & Modding.MyMind & don't forget to hit the Thanks button for them . . . :good:

    Dark & Light Theme porting to MTK
    If you're using other themes other than 480x854 which is ported by me then Dark & Light Theme will not work properly on MTK . . . :cowboy:

    Solution to Change Color on Dark & Light Themes to work on MTK
    1. Open ui.zip -> ui.xml & change all /sdcard/TWRP to /emmc/TWRP EXCEPTIONAL for two -> tw_filename=/sdcard/TWRP/aromafm/aromafm.zip & save it first.

      Tips : Use the search function -> Ctrl + f to search for above keyword & if you're a Windows users then use Notepad++ for editing . . .

    2. There are two occurrence -> ./zip -0 -r -u "/emmc/TWRP/theme/ui.zip" *; <- You'll need to delete both the -u.
      Code:
      mkdir "/cache/twrp";
      if [ -f "/emmc/TWRP/theme/ui.zip" ];
      then unzip -o "/emmc/TWRP/theme/ui.zip" -d "/cache/twrp";
      chmod 777 "/cache/twrp/zip";
      cp -r /cache/twrp/%tw_folder%/* "/cache/twrp/images";
      busybox mv "/cache/twrp/ui.xml" "/cache/twrp/ui_temp.xml";
      busybox sed "s/%text_highlight%/#%tw_text_color_highlight%/g" "/cache/twrp/ui_temp.xml" > "/cache/twrp/ui_temp2.xml";
      rm -f "/cache/twrp/ui_temp.xml";
      busybox sed "s/%text_actionbar%/#%tw_text_actionbar%/g" "/cache/twrp/ui_temp2.xml" > "/cache/twrp/ui.xml";
      rm -f "/cache/twrp/ui_temp2.xml";
      cd "/cache/twrp";
      [COLOR="blue"]./zip -0 -r "/emmc/TWRP/theme/ui.zip" *;[/COLOR]
      cd /;
      rm -r "/cache/twrp"
      else
    Updates
    /data/media device refer to here . . . :good:
    Solution to Install Image on Dark & Light Themes to work on MTK

    WARNING : Does not check whether the boot.img or recovery.img you're about to flash is oversize & that might brick your MTK if you have only 6Mb partition, you have been fore-warned . . .

    When you select Install -> Top Menu Install Zip -> Install Zip or Install Image
    • Open ui.zip -> flashify -> META-INF -> com -> google -> android -> update-binary & edit as below . . .

      Replace Line 41 to 53 with below & save it first.
      Code:
      # Modded to work on MediaTek devices only
      case $image in
        boot*)
          imgtype="boot.img";;
        *recovery*)
          imgtype="recovery.img";;
        *)
          ui_print "No image file found to flash.";
          abort;;
      esac;
      Now at Line 66 to 74 replace with below, save it & now flashing MTK boot.img or recovery.img will work on Dark & Light Theme.
      Code:
      # Modded to work on MediaTek devices only
        if [ "$imgtype" == "boot.img" ]; then
          block=/dev/bootimg;
        elif [ "$imgtype" == "recovery.img" ]; then
          block=/dev/recovery;
        fi;
    Aroma File Manager
    It is a known problem that aromafm will not to work properly on flip-screen, this is not a TWRP problem as it has never been updated for almost a year.

    Flip Touch on Flip Screen

    It is a known problem that MTK manufacturer uses non-standard design & uses different Flip Screen/ Non-Flip LCD with different combinations of Flip/ Non-Flip Touch Screen on various Portrait & especially Landscape Android devices.

    There is absolutely no way that the porting tool could detect whether your MTK's Touch is FlipX or FlipY or SwapXY so i build all possible combinations here -> View attachment 3039567, read the How-to use it. Built-in to porting tool -> Manual-mode
    Bug report <- No support if you don't attach it to your post, pls refer to post #1 YOUR TOOL DOESN'T WORK . . .

    Refer to here on how to submit a proper bug report . . . :good:

    Please always attach recovery.log & log.txt from the porting tool or i'll be giving the wrong advice based on assumption & that might brick your device !

    How to obtain recovery log
    1. adb pull /tmp/recovery.log -> Attach to your post
    2. At TWRP -> BackUp -> After Backup go to Advanced -> Copy Log to SDCard

      Typically you will find the recovery.log at

      Typical Internal SdCard
      /emmc/TWRP/BACKUPS/ [Your Device Name] / [Backup date] [ro.mediatek.version.release]

      or

      Typical External SdCard
      /sdcard/TWRP/BACKUPS/ [Your Device Name] / [Backup date] [ro.mediatek.version.release]

      Attach it to your post.
    3. At TWRP console (Square button at button) -> You can view the log
    if you don't see me replying means either the answer is already at this thread so start reading every page, its not like there are 100 over pages, as of 10 Jan 2014, there are only 24 pages . . .

    The 2nd reason you don't see me replying is i donno the answer then head up to the TWRP IRC channel to get help, refer to here for more info . . . :cowboy:
    TWRP FAQ
    11
    Haha, you are most welcome, my friend . . . :highfive:

    Any feedbacks on ubifs & if everything is working well then i'll contact Master Shifu Dees_Troy to submit dhinesh77 patch to have ubifs officially supported by TWRP . . .
    brows_zpsda58f2fa.gif
    10
    Be warned, there hasn't been active feedbacks on ubifs here, refer to here for more info . . . Previously, dhinesh77 has shared with me that he had a hard time unbricking his ubifs in spite of having SP Flash Tool Factory ROM from vendor. Having said that, daoodshah has reported 2.7.1.0 working perfectly so you may wanna try that first . . .

    As for the recovery.fstab, try the below . . .
    Code:
    # mount point	fstype		device			[device2]
    
    /boot          mtd    boot
    /recovery      mtd    recovery
    /uboot         mtd    uboot                 flags=display="uboot";backup=1
    /nvram         mtd    nvram                 flags=display="nvram";backup=1
    /cache         ubifs  cache
    /data          ubifs  userdata
    /system        ubifs  system
    /sdcard        [COLOR="blue"]auto[/COLOR]   fat                   flags=display="[COLOR="blue"]Internal Storage[/COLOR]";settingsstorage
    /external_sd   [COLOR="Blue"]auto[/COLOR]   /dev/block/mmcblk0p1  flags=display="[COLOR="Blue"]External Storage[/COLOR]";storage;removable
    /sd-ext        auto   /dev/block/mmcblk0p2
    If it doesn't work then change the above auto to vfat
    Code:
        mkdir /boot
        mkdir /recovery
        mkdir /system
        mkdir /data
        mkdir /cache
        [COLOR="Blue"]mkdir /external_sd[/COLOR] [COLOR="red"]<- Add this to your existing [COLOR="blue"]init.rc[/COLOR][/COLOR]
        mount tmpfs tmpfs /tmp
    Attn to All
    Guys, from now on please attach recovery.log & log.txt from the porting tool or i'll be giving the wrong advice. Eg. Previous post, advice given assuming is ext4 filesystem but actual is ubifs which is completely different & that might brick your device . . . Refer to post #2 (Bug report) on how to obtain recovery.log . . .
    9
    @yuweng Simply Awesome.... :)