[Miscellaneous Android Development] :
DISCONTINUED: No more updates or support for this version. Instead check the new version for kitkat here or the ended version for jellybean here.

This is Carliv Touch Recovery, version 1.5.

DISCLAIMER:

Rooting your phone and using custom Recoveries and ROMS have risks and may result in bricking your device, and has nothing to do with Google or the device manufacturers. In case of any mishap I am not responsible if you brick/ruin your phone in any way.

Basic computer skills are required and minimal knowledges about phones and phones utilities too.

Make sure that whatever you do, you are doing it at your own responsibility.

It is based on CWM and is perfectly compatible with it. The big difference from top version 2.7 full touch is the just the touch module. In this version there are navigation buttons at the bottom of screen: back-down-up-enter. The touch module is part of original Napstar-xda's touch module. Apart from that, it is based on my non-touch modified CWM recovery, with some changes and small improvements.

Version 1.5 update (29.06.2014):

- cleaned up the source code

- removed "wipe all" option from wipe menu (too many users wiped their system and blamed me); if you need to wipe system, use "format system" from "mounts/storage"

- rearanged menu order in root menu to restore CWM order

- added a "nvram backup/restore" menu in "carliv" section: the nvram partition will be backed up in clockworkmod/backup folder as nvram.img. This will help if you lose IMEI and other communication features. It will work only if you have the nvram partition of size 0x500000 (check your scatter) and if you have the nvram defined as /dev/nvram path in recovery.fstab. If the nvram partition is damaged (as in flashing an oversized recovery) this will not help you, and you need SPFlashTools to reflash with format your phone official firmware, and after that flash this recovery, boot in recovery and restore nvram.

- some other small changes.

For port follow my tutorial from here, posts #6 and #7. If you need the automated porting tool, my friend [MENTION=4478781]yuweng[/MENTION] made it possible here. Thank you my friend!

If you use the manual method, in addition to my guide pay attention to these:

- in CWM internal sdcard is recognized as "emmc" or "sdcard".

- if your phone has only internal sdcard, or if you want to use the internal sdcard as main storage path, define it in recovery.fstab as "sdcard".

/sdcard vfat /dev/block/mmcblk0p[COLOR="Red"]n[/COLOR]

- if you have both storage, internal and external, and you want to use the internal one as main, name it "sdcard" and for the external sdcard use "external_sd".

/sdcard vfat /dev/block/mmcblk0p[COLOR="Red"]n[/COLOR]
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1

- in rest of the cases name internal sdcard as "emmc" and external "sdcard".

/emmc vfat /dev/block/mmcblk0p[COLOR="Red"]n[/COLOR]
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1

* for special cases, when your device has an emulated internal storage, it's a little bit complicated, and the recovery as it is might not work (you need to compile it from source and there are some changes that have to be made in source code - this is for experienced users who know what to do.

This recovery is compiled in cm-10.1 building environment, and it uses the old recovery.fstab format. If you want to use the new fstab 2 it will throw some nasty errors.

One other thing is how you define partitions paths. The best way is to do it as the original recovery, and the official clockworkmod does it: as device blocks "/dev/block/mmcblk0p5". Especially for ext4 type of partitions. Why? because ext4 is a "blocks type" file system, and being the official android type of partitions since gingerbread, the CWM was designed to work best with this kind of path. Of course, the "softlink" path, as emmc@android, works too, but I prefer the official way.

For default.prop file take a look here.

Currently there are two lunfile paths in the world of mtk phones. This will make your USB Mass storage to work in recovery or not. Search that path in your device to see what you have.

Lunfile path 1 (old): "/sys/devices/platform/mt_usb/gadget/lun%d/file" - this can be found in many devices mt6572, mt6589, mt6589T, and other old ones.

Lunfile path 2 (new): "/sys/devices/platform/mt_usb/musb-hdrc.0/gadget/lun%d/file" - this is related to new devices mt6582, mt6592...

Find where is your path and download the image to port from correct section.

There are two sections, corresponding to those two lunfile paths, with 11 images each. These 11 images are corresponding to different resolutions. Choose the one that match exactly your phone resolution. The name is clear: "Carliv Touch Recovery 1 WIDTHxHEIGHT". If your phone has the resolution 720x1280, then take "Carliv Touch Recovery 1 720x1280".

IMPORTANT:

These are compiled recoveries for porting purposes only. DON'T take any of them and flash it in your phone as it is. It won't work. You need to port it to your device as I show in my guide.

CREDITS:

- CM9-Pascal2 - for touch module;

- C3C0 - for initial mtk tweack hint;

- Koush and all CWM team for the recovery;

- bgcngm for unpack/repack utils;

- sk8erwitskil for aromafm menu

RULES for posting your ports!

If you manage to port this to your device, add proper credits in your thread, post or article.

If you want that to be posted in a list with working devices, then post here a link to the thread or the post on xda (only on xda). Why not a free hosting link, like google drive, dev-host, mega-coz or other? Because if in the future you will port a new version, you have to replace it in that thread or post and the link from list remain the same.

The device list is started now from scratch. All old links are deleted because many of them are dead.

ATTENTION:

There is a possibility that the touch feature to not work in all phones. I tested it in few, and in some of them it doesn't work. There isn't a switch, a toggle or other method to make it to work, it depends on your phone touchscreen accesibility from recovery. If this doesn't work in your phone, I'm sorry, it happens, and my advice is to try something else.

Few clarifications:

I worked many many weeks for making this thread (who knows what's take to compile a recovery will know what I mean); there are 66 recoveries only in this thread.

I provided all necessary infos to help you to port it to your devices.

So, don't ask me anymore to port or to compile some recovery for your phone.

If you can't follow all these clear steps (with images) to do it by yourself, then maybe you are on the wrong forum.

It is ment to be ported to all MTK devices, but this doesn't mean it will work in all.

In some devices with a cheap screen display (usually those with anly one or two points of touch) there is a big chance to not work, or to work only partial.

There is nothing to do to fix this, you need a better phone, or use it as a non-touch recovery.

If your phone has an emulated internal storage, and doesn't have an external sdcard, don't botter to try this, it won't work.

The emulated (legacy) internal sdcard will not work in this recovery, and if you want to use this recovery, remove it from recovery.fstab.

If the recovery has the screen flipped, you need to use the non-touch version, and to compile it by yourself from source, or to ask a developer from your device to do it, with BOARD_HAS_FLIPPED_SCREEN true flag in device BoardConfig.

This recovery is compiled in CM-10.1 environment (android 4.2.2) and is proved to be working in devices with kernels up to Android 4.3. It won't work for kitkat.

I don't have plans to release a kitkat compatible version, because for that there are better variants: TWRP or Philz Touch.

The main purpose for this recovery was to keep it under 6Mb, to fit in that small recovery partition that was used in these MTK phones.

If your phone get's kitkat firmware, I'm sure they will provide a new scatter and a new PMT layout with a bigger recovery partition.

If your phone's kernel is bigger than 4.3Mb and the recovery size is 6Mb, don't botter to try it. It won't work, because it will exceede those 6Mb.