• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE][HOW-TO][ROOT][TWRP][MT6735M] ZTE Blade A110

Search This thread

xdarthanonx

Senior Member
Apr 23, 2015
268
121
This thread is going to be a guide on how to root the ZTE Blade A110 (a.k.a. Optus Zip, Coles Shout, Spark Lite, etc.) with KingRoot v4.60 and then replacing KingUser with SuperSU - via adb shell. Once rooted, a custom recovery may be possible. This will be explored.

Be aware that KingRoot requires internet access to function and that it may compromise your privacy (a VirusTotal scan reveals numerous Tencent QQ URLs). In anticipation of this, I chose to root before entering any personal information (including Google Play account details) or SIM card. I also set up a restricted guest network on my router for WiFi access.


REQUIREMENTS
  • PC
  • Android Debug Bridge (install adb)
  • microSD card (files are expected to be stored in /storage/sdcard1 )
  • KingRoot v4.60 (use a different version at your own peril)
  • Internet access (for KingRoot to function)


METHOD

Steps enclosed in parentheses ( ) may not be necessary, but I did them anyway.
  1. Enable installation of apps from unknown sources
  2. Connect to PC then enable developer options and USB debugging
  3. (Enable OEM unlocking)
  4. Sideload KingRoot
  5. Get root with KingRoot
  6. DO NOT RESTART PHONE
  7. Open a Command Prompt and start an adb shell as root:
    Code:
    C:\Windows\system32>[B][COLOR="Blue"]adb shell[/COLOR][/B]
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    [email protected]_BLADE_A110:/ $ [B][COLOR="Blue"]su[/COLOR][/B]
    su
    [email protected]_BLADE_A110:/ #
  8. Execute the following commands (which are from Mr.W0lf's script - with a bit of tweaking):

    1. Mount system as writable
      Code:
      [B][COLOR="Blue"]mount[/COLOR][/B] [COLOR="Sienna"]-o[/COLOR] remount,rw /system
    2. Uninstall KingUser (KingRoot Superuser management app)
      Code:
      [B][COLOR="Blue"]am[/COLOR][/B] kill com.kingroot.kinguser
      [B][COLOR="Blue"]pm[/COLOR][/B] uninstall com.kingroot.kinguser
    3. Install Busybox (to use chattr)
      Code:
      [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/busybox [B][COLOR="Sienna"]>[/COLOR][/B] /system/bin/busybox
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.1000[/COLOR] /system/bin/busybox [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/bin/busybox
    4. Delete KingRoot system files
      Code:
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/.usr/.ku [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /system/bin/.usr
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/debuggerd [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/debuggerd
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/debuggerd64 [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/debuggerd64
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/debuggerd_real
      [B][COLOR="Blue"]cat[/COLOR][/B] /system/bin/debuggerd_real [B][COLOR="Sienna"]>[/COLOR][/B] /storage/sdcard1/debuggerd.bak.[B][COLOR="Sienna"]$(date +%s)[/COLOR][/B]
      [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/debuggerd_real
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/install-recovery.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/install-recovery.sh
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/rt.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/rt.sh
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/su [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/su
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/etc/install-recovery.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/etc/install-recovery.sh
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/etc/install-recovery.sh-ku.bak [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/etc/install-recovery.sh-ku.bak
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/krdem [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/krdem
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/ku.sud [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/ku.sud
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/start_kusud.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/start_kusud.sh
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/su [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/su
      [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/supolicy [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/supolicy
    5. Cleanup
      Code:
      [B][COLOR="Blue"]rm[/COLOR][/B] /system/usr/icu/icusuflag.conf
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/com.kingroot.RushRoot
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/com.kingroot.kinguser
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/kds
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/king
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /dev/kingroot
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/KingMaster
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/Kingroot
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/Tencent
      [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/kinguserdown
      [B][COLOR="Blue"]rm[/COLOR][/B] /sdcard/Download/kmPlugins.zip
      [B][COLOR="Blue"]rm[/COLOR][/B] /sdcard/kr-stock-conf
    6. More cleanup and uninstall Purify
      Code:
      [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected]@[email protected]@tm.dex
      [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected][email protected]
      [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected]@[email protected]
      [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected]@[email protected]@classes.dex
      [B][COLOR="Blue"]rm[/COLOR][/B] /data/local/tmp/K[B][COLOR="Red"]*[/COLOR][/B] [I][COLOR="Green"](I've forgotten the filename. Anybody?)[/COLOR][/I]
      [B][COLOR="Blue"]rm[/COLOR][/B] /data/local/tmp/krperm.txt
      [B][COLOR="Blue"]am[/COLOR][/B] kill com.kingstudio.purify
      [B][COLOR="Blue"]pm[/COLOR][/B] uninstall com.kingstudio.purify
    7. Copy files to system
      Code:
      [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/debuggerd [B][COLOR="Sienna"]>[/COLOR][/B] /system/bin/debuggerd
      [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/debuggerd64 [B][COLOR="Sienna"]>[/COLOR][/B] /system/bin/debuggerd64
      [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/su [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/daemonsu
      [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/su [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/su
      [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/su [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/sugote
      [B][COLOR="Blue"]cat[/COLOR][/B] /system/bin/sh [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/sugote-mksh
    8. Set permissions
      Code:
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/daemonsu [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/xbin/daemonsu
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/su [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]6755[/COLOR] /system/xbin/su
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/sugote [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/xbin/sugote
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/sugote-mksh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B][COLOR="Red"] 0755[/COLOR] /system/xbin/sugote-mksh
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.2000[/COLOR] /system/bin/debuggerd [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/bin/debuggerd
      [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.2000[/COLOR] /system/bin/debuggerd64 [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/bin/debuggerd64
      daemonsu -d
    9. Install SuperSU
      Code:
      [B][COLOR="Blue"]pm[/COLOR][/B] install /storage/sdcard1/Superuser.apk

    ?️ Alternatively, use this script: View attachment dekingroot_script.zip
  9. Update SU binary
    loJHAcV.png

  10. Reboot

*** CONGRATULATIONS! YOUR DEVICE IS NOW ROOTED ***


FILE MD5 CHECKSUMS

  • debuggerd.zip\debuggerd - F03F61C8A21597B6DFFD1C43E2E32B70
  • debuggerd64.zip\debuggerd64 - 32CAE0C03DEEEB0579A52820C7DFD33D
  • NewKingrootV4.60_C132_B232_xda_release_2015_11_13_105243.apk - 1D8AA4B22DFC15631AD5F3BD082EA05F
  • stock_kernel_dtac.co.th.zip\boot.img - DA2D4B79AD52C5D6570DA06B628951C1
  • stock_kernel_optus.com.au.zip\boot.img - 5C3283C61F074709B5AAC4731722B0D2
  • stock_kernel_tiphone.co.id.zip\boot.img - FCEDE303D2D14F71F28E53DBE42EBBA3
  • supersu_busybox.zip\busybox - 7C5CB8A20FF6781EC448F88958CE3FC4
  • supersu_busybox.zip\su - C2D5C3F94C41024EEDB4569779597CF6
  • supersu_busybox.zip\Superuser.apk - 15E9A509F2989CE409FB9761C78E7826


THANKS

 

Attachments

  • debuggerd.zip
    87.6 KB · Views: 747
  • debuggerd64.zip
    72.8 KB · Views: 621
  • supersu_busybox.zip
    3.7 MB · Views: 1,098
  • stock_kernel_dtac.co.th.zip
    7.2 MB · Views: 535
  • stock_kernel_optus.com.au.zip
    7.2 MB · Views: 849
  • stock_kernel_tiphone.co.id.zip
    7.2 MB · Views: 353
Last edited:
  • Like
Reactions: donkeytits1

xdarthanonx

Senior Member
Apr 23, 2015
268
121
TWRP 3.0.2-0

m6bNYNL.png


SCREENSHOTS


EanSJc4.png
ywA7Yro.png

0Rroxeu.png
P7zLGS0.png

IKEfNys.png
KUPvfXH.png

gd3FDjX.png
Pv9TXfa.png

CZlKIPd.png
uPZlzPW.png



PORTING RECOVERY

  1. Unpack stock recovery.img with Carliv Image Kitchen for Android
  2. Unpack and copy files from twrp_zte_a410.img (overwrite):
    Code:
    recovery.img-cmdline
    ramdisk\init
    ramdisk\sepolicy
    ramdisk\fstab.goldfish
    ramdisk\init.rc
    ramdisk\init.recovery.usb.rc
    ramdisk\ueventd.goldfish.rc
    ramdisk\ueventd.mt6735.rc
    ramdisk\etc\*
    ramdisk\license\*
    ramdisk\res\*
    ramdisk\sbin\*
    ramdisk\supersu\*
    ramdisk\twres\*
    The ZTE Blade A410 is a good choice to port from, since it has the same chipset (MediaTek MT6735M), the same OS (Android 5.1) and is from the same manufacturer.
  3. Unpack and copy files from twrp-3.0.2-0-dende.img (overwrite):
    Code:
    ramdisk\supersu\install-supersu.sh
    ramdisk\twres\*     [COLOR="Green"]<resolution width="480" height="800"/>[/COLOR]
  4. Modify recovery.fstab, default.prop, init.rc and init.recovery.usb.rc (see KEY FILES below for details)
  5. Repack recovery image with Carliv Image Kitchen


KEY FILES

  • recovery.fstab
    Code:
    [COLOR="Green"]# mount point       fstype      device      [device2]       [length=]       [flags][/COLOR]
    [COLOR="Green"]# Modified by xdarthanonx 12-04-2018[/COLOR]
    [COLOR="Green"]# <https://goo.gl/oR5fsX> ZTE Blade A110[/COLOR]
    [COLOR="Green"]# <https://goo.gl/Zs8LW5> How to compile TWRP[/COLOR]
    
    /boot           emmc    /dev/block/platform/mtk-msdc.0/by-name/boot         flags=backup=1;display="Boot"
    /cache          ext4    /dev/block/platform/mtk-msdc.0/by-name/cache        flags=backup=0;wipeingui;wipeduringfactoryreset;display="Cache"
    /data           ext4    /dev/block/platform/mtk-msdc.0/by-name/userdata     flags=backup=1;wipeingui;wipeduringfactoryreset;display="Data";length=-16384
    /nvdata         ext4    /dev/block/platform/mtk-msdc.0/by-name/nvdata       flags=backup=1;display="NVData"
    /protect_f      ext4    /dev/block/platform/mtk-msdc.0/by-name/protect1     flags=backup=1;display="Protect_f"
    /protect_s      ext4    /dev/block/platform/mtk-msdc.0/by-name/protect2     flags=backup=1;display="Protect_s"
    /recovery       emmc    /dev/block/platform/mtk-msdc.0/by-name/recovery     flags=backup=1;display="Recovery"
    /system         ext4    /dev/block/platform/mtk-msdc.0/by-name/system       flags=backup=1;display="System"
    
    [COLOR="Green"]# Removable storage[/COLOR]
    /external_sd    vfat    /dev/block/mmcblk1p1        /dev/block/mmcblk1      flags=backup=0;wipeingui;removable;storage;display="Micro SDcard"
    /sd-ext         auto    /dev/block/mmcblk1p2                                flags=backup=1;wipeingui;removable;display="SD-Ext"
    /usb-otg        vfat    /dev/block/sda1             /dev/block/sda          flags=backup=0;wipeingui;removable;storage;display="USB-OTG"

  • default.prop
    Code:
    [COLOR="Green"]#[/COLOR]
    [COLOR="Green"]# ADDITIONAL_DEFAULT_PROPERTIES[/COLOR]
    [COLOR="Green"]#[/COLOR]
    [COLOR="Green"]# Modified by xdarthanonx 02-02-2017[/COLOR]
    [COLOR="Green"]# https://goo.gl/oR5fsX[/COLOR]
    
    [COLOR="Green"]# Run adbd as root[/COLOR]
    [COLOR="Purple"][I]ro.secure=0[/I][/COLOR]
    [COLOR="Purple"][I]ro.debuggable=1[/I][/COLOR]
    
    [COLOR="Purple"][I]ro.adb.secure=0[/I][/COLOR]
    [COLOR="Purple"][I]persist.sys.usb.config=mtp,adb[/I][/COLOR]
    persist.service.acm.enable=0
    [COLOR="Purple"][I]ro.oem_unlock_supported=1[/I][/COLOR]
    [COLOR="Purple"][I]ro.allow.mock.location=1[/I][/COLOR]
    ro.zygote=zygote64_32
    ro.mount.fs=EXT4
    camera.disable_zsl_mode=1
    dalvik.vm.dex2oat-Xms=64m
    dalvik.vm.dex2oat-Xmx=512m
    dalvik.vm.image-dex2oat-Xms=64m
    dalvik.vm.image-dex2oat-Xmx=64m
    ro.dalvik.vm.native.bridge=0
    
    [COLOR="Green"]# begin build properties[/COLOR]
    [COLOR="Green"]# autogenerated by buildinfo.sh[/COLOR]
    ro.build.id=LMY47D
    ro.build.display.id=BLADE_A110_M01
    ro.build.version.incremental=1461832295
    ro.build.version.sdk=22
    ro.build.version.codename=REL
    ro.build.version.all_codenames=REL
    ro.build.version.release=5.1
    ro.build.version.security_patch=2016-01-06
    [COLOR="Purple"][I]ro.build.version.base_os=ZTE/P635A60_AU_OPT/ZTE_BLADE_A110:5.1/LMY47D/20160428.163242:user/test-keys[/I][/COLOR]
    ro.build.inner.version=OPS_AU_S_P635A60V1.0.0B11
    [COLOR="Purple"][I]ro.build.date=Thu Apr 28 16:33:28 CST 2016[/I][/COLOR]
    ro.build.date.utc=1461832408
    [COLOR="Purple"][I]ro.build.type=userdebug[/I][/COLOR]
    ro.build.user=diganyun
    ro.build.host=build4-ThinkCentre-M4500k-N000
    [COLOR="Purple"][I]ro.build.tags=test-keys[/I][/COLOR]
    [COLOR="Purple"][I]ro.build.flavor=full_ztehz6735m_65u_l-userdebug[/I][/COLOR]
    ro.product.model=ZTE BLADE A110
    ro.product.brand=ZTE
    ro.product.name=P635A60_AU_OPT
    ro.product.device=ZTE_BLADE_A110
    ro.product.manufacturer=ZTE
    ro.product.version.base_os=Android5.1
    ro.product.board=
    [COLOR="Purple"][I]#drm.forwardlock.only=true[/I][/COLOR]
    [COLOR="Green"]# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,[/COLOR]
    [COLOR="Green"]# use ro.product.cpu.abilist instead.[/COLOR]
    ro.product.cpu.abi=arm64-v8a
    ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
    ro.product.cpu.abilist32=armeabi-v7a,armeabi
    ro.product.cpu.abilist64=arm64-v8a
    ro.product.manufacturer=alps
    ro.product.locale.language=en
    ro.product.locale.region=AU
    ro.wifi.channels=
    ro.board.platform=mt6735m
    [COLOR="Green"]# ro.build.product is obsolete; use ro.product.device[/COLOR]
    ro.build.product=ztehz6735m_65u_l
    [COLOR="Green"]# Do not try to parse description, fingerprint, or thumbprint[/COLOR]
    [COLOR="Purple"][I]ro.build.description=full_ztehz6735m_65u_l-user 5.1 LMY47D 1461832295 test-keys[/I][/COLOR]
    [COLOR="Purple"][I]ro.build.fingerprint=ZTE/P635A60_AU_OPT/ZTE_BLADE_A110:5.1/LMY47D/20160428.163242:user/test-keys[/I][/COLOR]
    ro.build.characteristics=default
    [COLOR="Green"]# end build properties[/COLOR]
    [COLOR="Green"]#[/COLOR]
    [COLOR="Green"]# from device/ztehz/ztehz6735m_65u_l/system.prop[/COLOR]
    [COLOR="Green"]#[/COLOR]
    [COLOR="Green"]#[/COLOR]
    [COLOR="Green"]# system.prop for generic sdk[/COLOR]
    [COLOR="Green"]#[/COLOR]
    
    rild.libpath=mtk-ril.so
    rild.libargs=-d /dev/ttyC0
    
    
    [COLOR="Green"]# MTK, Infinity, 20090720 {[/COLOR]
    wifi.interface=wlan0
    [COLOR="Green"]# MTK, Infinity, 20090720 }[/COLOR]
    
    [COLOR="Green"]# MTK, mtk03034, 20101210 {[/COLOR]
    ro.mediatek.wlan.wsc=1
    [COLOR="Green"]# MTK, mtk03034 20101210}[/COLOR]
    [COLOR="Green"]# MTK, mtk03034, 20110318 {[/COLOR]
    ro.mediatek.wlan.p2p=1
    [COLOR="Green"]# MTK, mtk03034 20110318}[/COLOR]
    
    [COLOR="Green"]# MTK, mtk03034, 20101213 {[/COLOR]
    mediatek.wlan.ctia=0
    [COLOR="Green"]# MTK, mtk03034 20101213}[/COLOR]
    
    
    [COLOR="Green"]#[/COLOR]
    wifi.tethering.interface=ap0
    [COLOR="Green"]#[/COLOR]
    
    ro.opengles.version=196608
    
    wifi.direct.interface=p2p0
    dalvik.vm.heapgrowthlimit=128m
    dalvik.vm.heapsize=256m
    
    [COLOR="Green"]# USB MTP WHQL[/COLOR]
    ro.sys.usb.mtp.whql.enable=0
    
    [COLOR="Green"]# Power off opt in IPO[/COLOR]
    sys.ipo.pwrdncap=2
    
    ro.sys.usb.storage.type=mtp,mass_storage
    
    [COLOR="Green"]# USB BICR function[/COLOR]
    ro.sys.usb.bicr=yes
    
    [COLOR="Green"]# USB Charge only function[/COLOR]
    ro.sys.usb.charging.only=yes
    
    [COLOR="Green"]# audio[/COLOR]
    ro.camera.sound.forced=0
    ro.audio.silent=0
    
    ro.zygote.preload.enable=0
    
    [COLOR="Green"]# temporary enables NAV bar (soft keys)[/COLOR]
    qemu.hw.mainkeys=1
    
    ro.kernel.zio=38,108,105,16
    [COLOR="Green"]#ro.kernel.qemu=1[/COLOR]
    [COLOR="Green"]#ro.kernel.qemu.gles=0[/COLOR]
    [COLOR="Green"]#ro.boot.selinux=disable[/COLOR]
    
    [COLOR="Green"]# Disable dirty region for Mali[/COLOR]
    debug.hwui.render_dirty_regions=false
    
    ro.sf.lcd_density=240
    
    [COLOR="Green"]# performance[/COLOR]
    ro.mtk_perf_simple_start_win=1
    ro.mtk_perf_response_time=1
    
    [COLOR="Green"]#[/COLOR]
    [COLOR="Green"]# ADDITIONAL_BUILD_PROPERTIES[/COLOR]
    [COLOR="Green"]#[/COLOR]
    [COLOR="Purple"][I]ro.com.android.dateformat=dd-MM-yyyy[/I][/COLOR]
    ro.config.ringtone=Beauty.ogg
    ro.config.notification_sound=Glow.ogg
    ro.carrier=unknown
    ro.config.alarm_alert=Alarm_Classic.ogg
    dalvik.vm.heapgrowthlimit=128m
    dalvik.vm.heapsize=256m
    ro.mediatek.chip_ver=S01
    ro.mediatek.version.release=ZTE_BLADE_A110
    ro.mediatek.platform=MT6735
    ro.telephony.sim.count=2
    persist.radio.default.sim=0
    persist.radio.multisim.config=ss
    persist.md.perm.checked=to_upgrade
    persist.gemini.sim_num=1
    ro.gemini.smart_sim_switch=false
    ril.specific.sm_cause=0
    bgw.current3gband=0
    ril.external.md=0
    ro.btstack=blueangel
    ro.sf.hwrotation=0
    ril.current.share_modem=1
    curlockscreen=1
    ro.mediatek.gemini_support=false
    persist.radio.fd.counter=15
    persist.radio.fd.off.counter=5
    persist.radio.fd.r8.counter=15
    persist.radio.fd.off.r8.counter=5
    drm.service.enabled=true
    fmradio.driver.enable=1
    ril.first.md=1
    ril.flightmode.poweroffMD=1
    ril.telephony.mode=0
    dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt
    mediatek.wlan.chip=CONSYS_MT6735
    mediatek.wlan.module.postfix=_consys_mt6735
    ril.radiooff.poweroffMD=0
    ro.frp.pst=/dev/block/platform/mtk-msdc.0/by-name/frp
    persist.sys.timezone=Australia/Sydney
    ro.mediatek.version.branch=L1.MP3.EE.WFC.DEV
    ro.mediatek.version.sdk=4
    ro.mtk_audio_profiles=1
    ro.mtk_audenh_support=1
    ro.mtk_lossless_bt_audio=1
    ro.mtk_besloudness_support=1
    ro.mtk_bessurround_support=1
    ro.mtk_bt_support=1
    ro.mtk_wappush_support=1
    ro.mtk_agps_app=1
    ro.mtk_voice_ui_support=1
    ro.mtk_voice_unlock_support=1
    ro.mtk_voice_contact_support=1
    ro.mtk_wlan_support=1
    ro.mtk_ipo_support=1
    ro.mtk_gps_support=1
    ro.mtk_omacp_support=1
    ro.mtk_search_db_support=1
    ro.mtk_dialer_search_support=1
    ro.mtk_dhcpv6c_wifi=1
    ro.have_aacencode_feature=1
    ro.mtk_fd_support=1
    ro.mtk_oma_drm_support=1
    ro.mtk_cta_drm_support=1
    ro.mtk_widevine_drm_l3_support=1
    ro.mtk_eap_sim_aka=1
    ro.mtk_fm_recording_support=1
    ro.mtk_audio_ape_support=1
    ro.mtk_flv_playback_support=1
    ro.mtk_send_rr_support=1
    ro.mtk_emmc_support=1
    ro.mtk_tetheringipv6_support=1
    ro.mtk_phone_number_geo=1
    ro.mtk_shared_sdcard=1
    ro.mtk_enable_md1=1
    ro.mtk_flight_mode_power_off_md=1
    ro.mtk_pq_support=2
    ro.mtk_miravision_support=1
    ro.mtk_miravision_image_dc=1
    ro.mtk_wifi_mcc_support=1
    ro.mtk_sim_hot_swap=1
    ro.mtk_thumbnail_play_support=1
    ro.mtk_bip_scws=1
    ro.mtk_world_phone=1
    ro.mtk_world_phone_policy=0
    ro.mtk_perfservice_support=1
    ro.mtk_cta_set=1
    ro.mtk_mobile_management=1
    ro.mtk_antibricking_level=2
    ro.mtk_cam_mfb_support=0
    ro.mtk_lte_support=1
    ro.mtk_cam_mav_support=1
    ro.sim_refresh_reset_by_modem=1
    ro.mtk_live_photo_support=1
    ro.mtk_motion_track_support=1
    ro.mtk_privacy_protection_lock=1
    ro.mtk_bg_power_saving_support=1
    ro.mtk_bg_power_saving_ui=1
    ro.have_aee_feature=1
    ro.sim_me_lock_mode=0
    ro.mtk_ims_support=1
    ro.mtk_voice_extension_support=1
    wfd.dummy.enable=1
    ro.mediatek.project.path=device/ztehz/ztehz6735m_65u_l
    persist.mtk.wcn.combo.chipid=-1
    service.wcn.driver.ready=no
    ro.com.android.mobiledata=false
    persist.radio.mobile.data=0,0
    persist.meta.dumpdata=0
    ro.mtk_md_sbp_custom_value=0x0
    ro.setupwizard.mode=OPTIONAL
    ro.com.google.gmsversion=5.1_r2
    ro.com.google.clientidbase=android-zte
    ro.com.google.clientidbase.ms=android-optus-au
    ro.com.google.clientidbase.am=android-optus-au
    ro.com.google.clientidbase.gmm=android-zte
    ro.com.google.clientidbase.yt=android-zte
    persist.sys.dalvik.vm.lib.2=libart.so
    dalvik.vm.isa.arm64.features=default
    dalvik.vm.isa.arm.features=default
    net.bt.name=Android
    dalvik.vm.stack-trace-file=/data/anr/traces.txt
  • init.rc
    Code:
    [COLOR="Green"]# Modified by xdarthanonx 16-04-2018[/COLOR]
    [COLOR="Green"]# https://goo.gl/oR5fsX[/COLOR]
    
    [COLOR="Purple"][I]import /init.recovery.logd.rc[/I][/COLOR]
    [COLOR="Purple"][I]import /init.recovery.usb.rc[/I][/COLOR]
    import /init.recovery.${ro.hardware}.rc
    
    on early-init
        [COLOR="Green"]# Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.[/COLOR]
        write /sys/fs/selinux/checkreqprot 0
    
        [COLOR="Green"]# Set the security context for the init process.[/COLOR]
        [COLOR="Green"]# This should occur before anything else (e.g. ueventd) is started.[/COLOR]
        setcon u:r:init:s0
    
        start ueventd
        start healthd
    
    [COLOR="Purple"][I]service set_permissive /sbin/permissive.sh[/I][/COLOR]
        [COLOR="Purple"][I]oneshot[/I][/COLOR]
        [COLOR="Purple"][I]seclabel u:r:recovery:s0[/I][/COLOR]
    
    on init
        export PATH /sbin:/system/bin
        [COLOR="Purple"][I]export LD_LIBRARY_PATH .:/sbin[/I][/COLOR]
        export ANDROID_ROOT /system
        export ANDROID_DATA /data
        export EXTERNAL_STORAGE /sdcard
    
        symlink /system/etc /etc
    
        [COLOR="Purple"][I]mkdir /boot[/I][/COLOR]
        [COLOR="Purple"][I]mkdir /recovery[/I][/COLOR]
        mkdir /sdcard
        mkdir /system
        mkdir /data
        mkdir /cache
        [COLOR="Purple"][I]#insmod /sec.ko[/I][/COLOR]
        [COLOR="Purple"][I]#mknod /dev/sec c 182 0[/I][/COLOR]
        [COLOR="Purple"][I]#chmod 0660 /dev/sec[/I][/COLOR]
        mkdir /sideload
        mount tmpfs tmpfs /tmp
    
        chown root shell /tmp
        chmod 0775 /tmp
    
        write /proc/sys/kernel/panic_on_oops 1
        write /proc/sys/vm/max_map_count 1000000
    
    on fs
        [COLOR="Purple"][I]#write /proc/bootprof "start mobicore (on fs)"[/I][/COLOR]
        [COLOR="Purple"][I]#chmod 0600 /dev/mobicore[/I][/COLOR]
        [COLOR="Purple"][I]#chown system system /dev/mobicore[/I][/COLOR]
        [COLOR="Purple"][I]#chmod 0666 /dev/mobicore-user[/I][/COLOR]
        [COLOR="Purple"][I]#chown system system /dev/mobicore-user[/I][/COLOR]
        [COLOR="Purple"][I]## MobiCore Daemon Paths[/I][/COLOR]
        [COLOR="Purple"][I]#export MC_AUTH_TOKEN_PATH /efs[/I][/COLOR]
        [COLOR="Purple"][I]#start mobicore[/I][/COLOR]
        [COLOR="Purple"][I]#write /proc/bootprof "start mobicore end (on fs)"[/I][/COLOR]
        [COLOR="Purple"][I]mount pstore pstore /sys/fs/pstore[/I][/COLOR]
    
        mkdir /dev/usb-ffs 0770 shell shell
        mkdir /dev/usb-ffs/adb 0770 shell shell
        mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
    
    [COLOR="Purple"][I]on post-fs[/I][/COLOR]
        [COLOR="Purple"][I]# Explicitly define login script for BusyBox shell (necessary)[/I][/COLOR]
        [COLOR="Purple"][I]# https://is.gd/tqbRdv[/I][/COLOR]
        [COLOR="Purple"][I]# https://is.gd/IFkWfh[/I][/COLOR]
        [COLOR="Purple"][I]# https://is.gd/fOHomp[/I][/COLOR]
        [COLOR="Purple"][I]export ENV /etc/profile[/I][/COLOR]
    
    on boot
        ifup lo
        hostname localhost
        domainname localdomain
    
        class_start default
    
    [COLOR="Green"]# Load properties from /system/ + /factory after fs mount.[/COLOR]
    on load_all_props_action
        load_all_props
    
    on firmware_mounts_complete
        rm /dev/.booting
    
    [COLOR="Green"]# Mount filesystems and start core system services.[/COLOR]
    on late-init
        trigger early-fs
        trigger fs
        trigger post-fs
        trigger post-fs-data
    
        [COLOR="Green"]# Load properties from /system/ + /factory after fs mount. Place[/COLOR]
        [COLOR="Green"]# this in another action so that the load will be scheduled after the prior[/COLOR]
        [COLOR="Green"]# issued fs triggers have completed.[/COLOR]
        trigger load_all_props_action
    
        [COLOR="Green"]# Remove a file to wake up anything waiting for firmware[/COLOR]
        trigger firmware_mounts_complete
    
        trigger early-boot
        trigger boot
    
    on property:sys.powerctl=*
        powerctl ${sys.powerctl}
    
    service ueventd /sbin/ueventd
        critical
        seclabel u:r:ueventd:s0
    
    service healthd /sbin/healthd -r
        critical
        seclabel u:r:healthd:s0
    
    service recovery /sbin/recovery
        [COLOR="Purple"][I]#seclabel u:r:recovery:s0[/I][/COLOR]
    
    service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
        disabled
        socket adbd stream 660 system system
        seclabel u:r:adbd:s0
    
    [COLOR="Green"]# Always start adbd on userdebug and eng builds[/COLOR]
    on property:ro.debuggable=1
        [COLOR="Purple"][I]#write /sys/class/android_usb/android0/enable 0[/I][/COLOR]
        [COLOR="Purple"][I]#write /sys/class/android_usb/android0/idVendor 0E8D[/I][/COLOR]
        [COLOR="Purple"][I]#write /sys/class/android_usb/android0/idProduct 201C[/I][/COLOR]
        [COLOR="Purple"][I]#write /sys/class/android_usb/android0/f_ffs/aliases adb[/I][/COLOR]
        [COLOR="Purple"][I]#write /sys/class/android_usb/android0/functions adb[/I][/COLOR]
        [COLOR="Purple"][I]#write /sys/class/android_usb/android0/enable 1[/I][/COLOR]
        [COLOR="Purple"][I]#start adbd[/I][/COLOR]
        [COLOR="Purple"][I]setprop service.adb.root 1[/I][/COLOR]
    
    [COLOR="Green"]# Restart adbd so it can run as root[/COLOR]
    on property:service.adb.root=1
        write /sys/class/android_usb/android0/enable 0
        restart adbd
        write /sys/class/android_usb/android0/enable 1
    
    [COLOR="Purple"][I]## Start Daemon (Registry directories should already be present)[/I][/COLOR]
    [COLOR="Purple"][I]#service mobicore /system/bin/mcDriverDaemon -r /system/app/mcRegistry/020f0000000000000000000000000000.drbin -r /system/app/mcRegistry/05120000000000000000000000000000.drbin -r /system/app/mcRegistry/070b0000000000000000000000000000.drbin[/I][/COLOR]
            [COLOR="Purple"][I]#user system[/I][/COLOR]
            [COLOR="Purple"][I]#group system[/I][/COLOR]
            [COLOR="Purple"][I]#class core[/I][/COLOR]
            [COLOR="Purple"][I]#oneshot[/I][/COLOR]
  • init.recovery.usb.rc
    Code:
    [COLOR="Green"]# Modified by xdarthanonx 01-02-2017[/COLOR]
    [COLOR="Green"]# https://goo.gl/oR5fsX[/COLOR]
    
    [COLOR="Green"]# idVendor 0E8D (MTK/MediaTek)[/COLOR]
    [COLOR="Green"]# idVendor 18D1 (Google)[/COLOR]
    [COLOR="Green"]# idVendor 19D2 (ZTE)[/COLOR]
    on fs
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor 19D2
        write /sys/class/android_usb/android0/idProduct 0306
        write /sys/class/android_usb/android0/f_ffs/aliases adb
        write /sys/class/android_usb/android0/functions mtp,adb
        write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
        write /sys/class/android_usb/android0/iProduct ${ro.product.model}
        write /sys/class/android_usb/android0/iSerial ${ro.serialno}
    
    [COLOR="Green"]# Used to disable USB when switching states[/COLOR]
    on property:sys.usb.config=none
        stop adbd
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/bDeviceClass 0
    
    on property:sys.usb.config=adb
        stop adbd
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor 19D2
        write /sys/class/android_usb/android0/idProduct 0260
        write /sys/class/android_usb/android0/functions adb
        write /sys/class/android_usb/android0/enable 1
        start adbd
    
    on property:sys.usb.config=mass_storage,adb
        stop adbd
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor 19D2
        write /sys/class/android_usb/android0/idProduct 1351
        write /sys/class/android_usb/android0/functions mass_storage,adb
        write /sys/class/android_usb/android0/enable 1
        start adbd
    
    on property:sys.usb.config=mtp,adb
        stop adbd
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor 19D2
        write /sys/class/android_usb/android0/idProduct 0306
        write /sys/class/android_usb/android0/functions mtp,adb
        write /sys/class/android_usb/android0/enable 1
        start adbd
    
    on property:sys.usb.config=mtp,mass_storage,adb
        stop adbd
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor 19D2
        write /sys/class/android_usb/android0/idProduct 2017
        write /sys/class/android_usb/android0/functions mtp,mass_storage,adb
        write /sys/class/android_usb/android0/enable 1
        start adbd



FLASHING RECOVERY

The easiest way to flash the recovery image is by using a dedicated app, such as Flashify or Rashr. These apps can also back up current boot and recovery images.

Another method is to use fastboot:
Code:
C:\Users\xdarthanonx\Downloads\twrp>dir /b
[HIGHLIGHT]twrp_zte_a110[/HIGHLIGHT].img

C:\Users\xdarthanonx\Downloads\twrp>[COLOR="Blue"]adb reboot bootloader[/COLOR]
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

C:\Users\xdarthanonx\Downloads\twrp>[COLOR="Blue"]fastboot flash recovery[/COLOR] [HIGHLIGHT]twrp_zte_a110[/HIGHLIGHT][COLOR="Blue"].img[/COLOR]
target reported max download size of 134217728 bytes
sending 'recovery' (11908 KB)...
OKAY [  1.197s]
writing 'recovery'...
OKAY [  0.431s]
finished. total time: 1.630s

C:\Users\xdarthanonx\Downloads\twrp>[COLOR="Blue"]fastboot reboot[/COLOR] && [COLOR="Blue"]adb wait-for-device reboot recovery[/COLOR]
rebooting...

finished. total time: 0.003s


FURTHER READING


FILE MD5 CHECKSUMS
  • stock_recovery.zip\recovery.img - 33A64159025FAD30996C07E8DB34E80C
  • twrp_zte_a110-20170208-0200.zip\recovery.img - 2D95A5BEE9A4486C2FA9764A3511C046
  • twrp_zte_a110-20180421-0409.zip\recovery.img - 261989A4C3D6B26B2E493FAC57233E0B


THANKS


RELEVANT LINKS


UPDATE 23-04-2018
  • Added tzdata2017c to avoid "__bionic_open_tzdata: couldn't find any tzdata" errors:
    Code:
    ramdisk\system\usr\share\zoneinfo\tzdata
  • Modified init.rc to define login script for BusyBox shell:
    Code:
    on post-fs
        export ENV /etc/profile
  • Added login script for BusyBox shell:
    • ramdisk\etc\profile

      Code:
      [COLOR="Green"]# /etc/profile: executed by the command interpreter for login shells.[/COLOR]
      
      [COLOR="Green"]# System-wide profile file[/COLOR]
      
      [COLOR="Green"]# Modified by xdarthanonx 21-04-2018[/COLOR]
      [COLOR="Green"]# https://goo.gl/oR5fsX[/COLOR]
      
      PATH=/sbin:/system/bin:/system/xbin
      
      PS1=[COLOR="Purple"]'[$(date +%H:%M:%S)] \[email protected]:\w \$ '[/COLOR]
      
      [B][COLOR="Blue"]export[/COLOR][/B] PATH PS1
      
      
      [COLOR="Green"]# ALIASES[/COLOR]
      [COLOR="Green"]#   Alias substitution can be overridden by prefixing with a backslash[/COLOR]
      [COLOR="Green"]#   (e.g., \rm overrides alias rm='rm -i'). <https://is.gd/7kXd2I>[/COLOR]
      
      [COLOR="Green"]# Interactive operation[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] rm=[COLOR="Purple"]'rm -i'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] cp=[COLOR="Purple"]'cp -i'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] mv=[COLOR="Purple"]'mv -i'[/COLOR]
      
      [COLOR="Green"]# Directory listings[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] ll=[COLOR="Purple"]'ls -l'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] la=[COLOR="Purple"]'ls -A'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] lo=[COLOR="Purple"]'ls -Al'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] lc=[COLOR="Purple"]'ls -Al --color=auto'[/COLOR]  [COLOR="Green"]# Cygwin/mintty[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] dir=[COLOR="Purple"]'ls -Al --color=auto'[/COLOR] [COLOR="Green"]# Cygwin/mintty[/COLOR]
      
      [COLOR="Green"]# Human readable format (e.g., 1K 243M 2G)[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] df=[COLOR="Purple"]'df -h'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] du=[COLOR="Purple"]'du -h'[/COLOR]
      
      [COLOR="Green"]# Miscellaneous[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] hd=[COLOR="Purple"]'hexdump -C'[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] gettz=[COLOR="Purple"]'getprop persist.sys.timezone'[/COLOR] [COLOR="Green"]# Get/set time zone[/COLOR]
      [B][COLOR="Blue"]alias[/COLOR][/B] settz=[COLOR="Purple"]'setprop persist.sys.timezone'[/COLOR] [COLOR="Green"]# https://goo.gl/QSKLkn[/COLOR]
      
      
      [COLOR="Green"]# FUNCTIONS[/COLOR]
      [COLOR="Green"]#   NB: Ash does not use 'function' command[/COLOR]
      [COLOR="Green"]#   <https://is.gd/25RNSD> POSIX syntax[/COLOR]
      [COLOR="Green"]#   <https://is.gd/2PmIYH> ash(1) man page[/COLOR]
      
      [COLOR="Green"]# List directory contents in screen-size chunks[/COLOR]
      lm () {
          [B][COLOR="Blue"]ls[/COLOR][/B] -Al [B][COLOR="DarkOrange"][email protected][/COLOR][/B] | [B][COLOR="Blue"]more[/COLOR][/B]
      }
      
      [COLOR="Green"]# List directories[/COLOR]
      ld () {
          [B][COLOR="Blue"]ls[/COLOR][/B] -Al [B][COLOR="DarkOrange"][email protected][/COLOR][/B] | [B][COLOR="Blue"]grep[/COLOR][/B] ^d
      }
      
      [COLOR="Green"]# Print battery info[/COLOR]
      getbatt () {
          [B][COLOR="Blue"]echo[/COLOR][/B] [COLOR="Purple"]"CURRENT BATTERY STATE"[/COLOR]
          [B][COLOR="Blue"]cat[/COLOR][/B] /sys/devices/platform/battery/power_supply/battery/uevent |
              [B][COLOR="Blue"]grep[/COLOR][/B] -e [COLOR="Purple"]'STATUS='[/COLOR]                \
                   -e [COLOR="Purple"]'HEALTH='[/COLOR]                \
                   -e [COLOR="Purple"]'TECHNOLOGY='[/COLOR]            \
                   -e [COLOR="Purple"]'CAPACITY='[/COLOR]              \
                   -e [COLOR="Purple"]'BATT_VOL='[/COLOR]              \
                   -e [COLOR="Purple"]'BATT_TEMP='[/COLOR]             \
                   -e [COLOR="Purple"]'BATTERYAVERAGECURRENT='[/COLOR] \
                   -e [COLOR="Purple"]'CHARGERVOLTAGE='[/COLOR] |
              [B][COLOR="Blue"]sed[/COLOR][/B] -e [COLOR="Purple"]'s/POWER_SUPPLY_/ /'[/COLOR]                \
                  -e [COLOR="Purple"]'s/STATUS/Status/'[/COLOR]                  \
                  -e [COLOR="Purple"]'s/HEALTH/Health/'[/COLOR]                  \
                  -e [COLOR="Purple"]'s/TECHNOLOGY/Technology/'[/COLOR]          \
                  -e [COLOR="Purple"]'s/CAPACITY/Level/'[/COLOR]                 \
                  -e [COLOR="Purple"]'s/BATT_VOL/Voltage/'[/COLOR]               \
                  -e [COLOR="Purple"]'s/BATT_TEMP/Temperature/'[/COLOR]          \
                  -e [COLOR="Purple"]'s/BATTERYAVERAGECURRENT/Current/'[/COLOR]  \
                  -e [COLOR="Purple"]'s/CHARGERVOLTAGE/Charger voltage/'[/COLOR] \
                  -e [COLOR="Purple"]'s/=/: /'[/COLOR]
      }
      
      [COLOR="Green"]# Check and repair file systems[/COLOR]
      fixfs () {
          [B][COLOR="Blue"]umount[/COLOR][/B] -a -t ext2,ext3,ext4,vfat
          [B][COLOR="Blue"]fsck.fat[/COLOR][/B] -aV /dev/block/mmcblk1p1  [COLOR="Green"]# SDcard[/COLOR]
          [B][COLOR="Blue"]e2fsck[/COLOR][/B] -fpDC0 /dev/block/mmcblk1p2 [COLOR="Green"]# Link2SD partition[/COLOR]
          [B][COLOR="Blue"]e2fsck[/COLOR][/B] -fpDC0 /dev/block/platform/mtk-msdc.0/by-name/cache
          [B][COLOR="Blue"]e2fsck[/COLOR][/B] -fpDC0 /dev/block/platform/mtk-msdc.0/by-name/userdata
          [B][COLOR="Blue"]e2fsck[/COLOR][/B] -fpDC0 /dev/block/platform/mtk-msdc.0/by-name/system
      }

 

Attachments

  • stock_recovery.zip
    8.1 MB · Views: 1,243
  • twrp_zte_a110-20170208-0200.zip
    11.6 MB · Views: 1,846
  • twrp_zte_a110-20180421-0409.zip
    11.7 MB · Views: 706
Last edited:

xdarthanonx

Senior Member
Apr 23, 2015
268
121
FAQ

  • Q: Why does my TWRP backup have lots of duplicate filenames with file contents such as:
    Code:
    50 RHT.security.selinux=u:object_r:system_file:s0

    A: These files contain the security contexts of their namesakes:
    Code:
    C:\Windows\system32>adb shell
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    [email protected]_BLADE_A110:/ $ [B][URL="http://linuxcommand.org/man_pages/ls1.html"]ls -Z[/URL][/B] /system
    ls -Z /system
    drwxr-xr-x root     root              u:object_r:system_file:s0 app
    drwxr-xr-x root     shell             u:object_r:system_file:s0 bin
    -rw-r--r-- root     root              u:object_r:system_file:s0 build.prop
    drwxr-xr-x root     root              u:object_r:system_file:s0 data
    drwxr-xr-x root     root              u:object_r:system_file:s0 etc
    drwxr-xr-x root     root              u:object_r:system_file:s0 fonts
    drwxr-xr-x root     root              u:object_r:system_file:s0 framework
    drwxr-xr-x root     root              u:object_r:system_file:s0 lib
    drwxr-xr-x root     root              u:object_r:system_file:s0 lib64
    drwx------ root     root              u:object_r:system_file:s0 lost+found
    drwxr-xr-x root     root              u:object_r:system_file:s0 media
    drwxr-xr-x root     root              u:object_r:system_file:s0 plugin
    drwxr-xr-x root     root              u:object_r:system_file:s0 priv-app
    drwxr-xr-x root     root              u:object_r:system_file:s0 readme
    -rw-r--r-- root     root              u:object_r:system_file:s0 recovery-from-boot.bak
    drwxr-xr-x root     root              u:object_r:system_file:s0 res
    drwxr-xr-x root     root              u:object_r:system_file:s0 tts
    drwxr-xr-x root     root              u:object_r:system_file:s0 usr
    drwxr-xr-x root     shell             u:object_r:system_file:s0 vendor
    drwxr-xr-x root     shell             u:object_r:system_file:s0 xbin
    This is necessary because the tar archiving utility does not retain SELinux contexts.
 
Last edited:

bchliu

Senior Member
Sep 1, 2010
108
18
Hi, just wanted to know where you can find the USB drivers for the Blade A110? I cannot locate it anywhere and cannot get ADB to see the device properly. Thanks
 

bchliu

Senior Member
Sep 1, 2010
108
18
lNP5w56.png


Connect the phone as a CD-ROM and run Setup.exe.

Thank you very much!! Finally got ADB working.. :) I'll follow your guide to root it as I really need to add extra languages back into the device somehow.

---------- Post added at 10:50 AM ---------- Previous post was at 10:10 AM ----------

I've followed all the steps and the screen on Step 5 does not show. Am I suppose to run the script from Mr.W0lf or what? Looks like only the busybox got copied across from the SDCard but the other things did not (debuggerd, su etc).
 

jnvdh06

Senior Member
Oct 12, 2014
298
75
Can someone tell me what type of stock rom this comes with? I see some versions have a stock Android rom and others seem to have some type of OEM skin?
 

na_oida_voda

New member
Dec 15, 2014
1
0
Hi there - this seems to be the only active thread about the Blade A110.

I got 2 ZTE Blade L110 (like A110 but without LTE) from the grandma and the disk is completely full by the factory ROM and can't even install any update from the playstore.

So im looking to replace the ROM with something smaller and started researching.

In fact the only ROM i found is mentioned here in this thread and you also say that "any" stock 5.1 ROMs will work.

Can you specifiy that or link me to some compatible ROMs?

kind regards,
Tom
 

xdarthanonx

Senior Member
Apr 23, 2015
268
121
I got 2 ZTE Blade L110 (like A110 but without LTE) from the grandma and the disk is completely full by the factory ROM and can't even install any update from the playstore.

Have you done a factory reset? Cleared out the internal storage? The L110 has less storage capacity than the A110, but there should still be enough to work with.
 

g2zer0

Member
Oct 4, 2010
9
1
Is the twrp version from this thread working on Blade L110 too? I got it rooted and want to flash it with flashify, but i'm afraid to brick something.
 

donkeytits1

New member
Feb 27, 2013
3
0
Stockholm
Hey xdarthanonx

Just wanted to say thanks for uploading these files. By flashing your recovery image I was able to debloat my system partiton by removing the vendor software and old versions of the Google apps, remove the Optus branding and replace the boot animation, give apps permission to write to the SD card and re-partition the eMMC to provide an extra 650MB for user data.

All in all, I don't think they are a bad little device, for something basic that cost $30 at a supermarket. Still totally usable but yet just slow enough to break the attention-suck from apps like facebook and instagram.

Haha anyway, cheers mate. Props to you. Good little project
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    This thread is going to be a guide on how to root the ZTE Blade A110 (a.k.a. Optus Zip, Coles Shout, Spark Lite, etc.) with KingRoot v4.60 and then replacing KingUser with SuperSU - via adb shell. Once rooted, a custom recovery may be possible. This will be explored.

    Be aware that KingRoot requires internet access to function and that it may compromise your privacy (a VirusTotal scan reveals numerous Tencent QQ URLs). In anticipation of this, I chose to root before entering any personal information (including Google Play account details) or SIM card. I also set up a restricted guest network on my router for WiFi access.


    REQUIREMENTS
    • PC
    • Android Debug Bridge (install adb)
    • microSD card (files are expected to be stored in /storage/sdcard1 )
    • KingRoot v4.60 (use a different version at your own peril)
    • Internet access (for KingRoot to function)


    METHOD

    Steps enclosed in parentheses ( ) may not be necessary, but I did them anyway.
    1. Enable installation of apps from unknown sources
    2. Connect to PC then enable developer options and USB debugging
    3. (Enable OEM unlocking)
    4. Sideload KingRoot
    5. Get root with KingRoot
    6. DO NOT RESTART PHONE
    7. Open a Command Prompt and start an adb shell as root:
      Code:
      C:\Windows\system32>[B][COLOR="Blue"]adb shell[/COLOR][/B]
      * daemon not running. starting it now on port 5037 *
      * daemon started successfully *
      [email protected]_BLADE_A110:/ $ [B][COLOR="Blue"]su[/COLOR][/B]
      su
      [email protected]_BLADE_A110:/ #
    8. Execute the following commands (which are from Mr.W0lf's script - with a bit of tweaking):

      1. Mount system as writable
        Code:
        [B][COLOR="Blue"]mount[/COLOR][/B] [COLOR="Sienna"]-o[/COLOR] remount,rw /system
      2. Uninstall KingUser (KingRoot Superuser management app)
        Code:
        [B][COLOR="Blue"]am[/COLOR][/B] kill com.kingroot.kinguser
        [B][COLOR="Blue"]pm[/COLOR][/B] uninstall com.kingroot.kinguser
      3. Install Busybox (to use chattr)
        Code:
        [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/busybox [B][COLOR="Sienna"]>[/COLOR][/B] /system/bin/busybox
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.1000[/COLOR] /system/bin/busybox [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/bin/busybox
      4. Delete KingRoot system files
        Code:
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/.usr/.ku [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /system/bin/.usr
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/debuggerd [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/debuggerd
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/debuggerd64 [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/debuggerd64
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/debuggerd_real
        [B][COLOR="Blue"]cat[/COLOR][/B] /system/bin/debuggerd_real [B][COLOR="Sienna"]>[/COLOR][/B] /storage/sdcard1/debuggerd.bak.[B][COLOR="Sienna"]$(date +%s)[/COLOR][/B]
        [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/debuggerd_real
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/install-recovery.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/install-recovery.sh
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/rt.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/rt.sh
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/bin/su [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/bin/su
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/etc/install-recovery.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/etc/install-recovery.sh
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/etc/install-recovery.sh-ku.bak [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/etc/install-recovery.sh-ku.bak
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/krdem [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/krdem
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/ku.sud [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/ku.sud
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/start_kusud.sh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/start_kusud.sh
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/su [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/su
        [B][COLOR="Blue"]busybox chattr[/COLOR][/B] [COLOR="Sienna"]-ia[/COLOR] /system/xbin/supolicy [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]rm[/COLOR][/B] /system/xbin/supolicy
      5. Cleanup
        Code:
        [B][COLOR="Blue"]rm[/COLOR][/B] /system/usr/icu/icusuflag.conf
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/com.kingroot.RushRoot
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/com.kingroot.kinguser
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/kds
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /data/data-lib/king
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /dev/kingroot
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/KingMaster
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/Kingroot
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/Tencent
        [B][COLOR="Blue"]rm[/COLOR][/B] [COLOR="Sienna"]-r[/COLOR] /sdcard/kinguserdown
        [B][COLOR="Blue"]rm[/COLOR][/B] /sdcard/Download/kmPlugins.zip
        [B][COLOR="Blue"]rm[/COLOR][/B] /sdcard/kr-stock-conf
      6. More cleanup and uninstall Purify
        Code:
        [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected]@[email protected]@tm.dex
        [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected][email protected]
        [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected]@[email protected]
        [B][COLOR="Blue"]rm[/COLOR][/B] /data/dalvik-cache/arm64/[email protected]@[email protected]@classes.dex
        [B][COLOR="Blue"]rm[/COLOR][/B] /data/local/tmp/K[B][COLOR="Red"]*[/COLOR][/B] [I][COLOR="Green"](I've forgotten the filename. Anybody?)[/COLOR][/I]
        [B][COLOR="Blue"]rm[/COLOR][/B] /data/local/tmp/krperm.txt
        [B][COLOR="Blue"]am[/COLOR][/B] kill com.kingstudio.purify
        [B][COLOR="Blue"]pm[/COLOR][/B] uninstall com.kingstudio.purify
      7. Copy files to system
        Code:
        [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/debuggerd [B][COLOR="Sienna"]>[/COLOR][/B] /system/bin/debuggerd
        [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/debuggerd64 [B][COLOR="Sienna"]>[/COLOR][/B] /system/bin/debuggerd64
        [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/su [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/daemonsu
        [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/su [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/su
        [B][COLOR="Blue"]cat[/COLOR][/B] /storage/sdcard1/su [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/sugote
        [B][COLOR="Blue"]cat[/COLOR][/B] /system/bin/sh [B][COLOR="Sienna"]>[/COLOR][/B] /system/xbin/sugote-mksh
      8. Set permissions
        Code:
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/daemonsu [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/xbin/daemonsu
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/su [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]6755[/COLOR] /system/xbin/su
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/sugote [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/xbin/sugote
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.0[/COLOR] /system/xbin/sugote-mksh [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B][COLOR="Red"] 0755[/COLOR] /system/xbin/sugote-mksh
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.2000[/COLOR] /system/bin/debuggerd [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/bin/debuggerd
        [B][COLOR="Blue"]chown[/COLOR][/B] [COLOR="Red"]0.2000[/COLOR] /system/bin/debuggerd64 [B][COLOR="Sienna"]&&[/COLOR][/B] [B][COLOR="Blue"]chmod[/COLOR][/B] [COLOR="Red"]0755[/COLOR] /system/bin/debuggerd64
        daemonsu -d
      9. Install SuperSU
        Code:
        [B][COLOR="Blue"]pm[/COLOR][/B] install /storage/sdcard1/Superuser.apk

      ?️ Alternatively, use this script: View attachment dekingroot_script.zip
    9. Update SU binary
      loJHAcV.png

    10. Reboot

    *** CONGRATULATIONS! YOUR DEVICE IS NOW ROOTED ***


    FILE MD5 CHECKSUMS

    • debuggerd.zip\debuggerd - F03F61C8A21597B6DFFD1C43E2E32B70
    • debuggerd64.zip\debuggerd64 - 32CAE0C03DEEEB0579A52820C7DFD33D
    • NewKingrootV4.60_C132_B232_xda_release_2015_11_13_105243.apk - 1D8AA4B22DFC15631AD5F3BD082EA05F
    • stock_kernel_dtac.co.th.zip\boot.img - DA2D4B79AD52C5D6570DA06B628951C1
    • stock_kernel_optus.com.au.zip\boot.img - 5C3283C61F074709B5AAC4731722B0D2
    • stock_kernel_tiphone.co.id.zip\boot.img - FCEDE303D2D14F71F28E53DBE42EBBA3
    • supersu_busybox.zip\busybox - 7C5CB8A20FF6781EC448F88958CE3FC4
    • supersu_busybox.zip\su - C2D5C3F94C41024EEDB4569779597CF6
    • supersu_busybox.zip\Superuser.apk - 15E9A509F2989CE409FB9761C78E7826


    THANKS

    1
    Hi, just wanted to know where you can find the USB drivers for the Blade A110? I cannot locate it anywhere and cannot get ADB to see the device properly. Thanks

    lNP5w56.png


    Connect the phone as a CD-ROM and run Setup.exe.
    1
    Tested it, doesn't work on L110.
    Stuck on Splash Screen when booting recovery.