FORUMS
Remove All Ads from XDA

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

152 posts
Thanks Meter: 55
 
By xdarthanonx, Senior Member on 4th January 2017, 07:31 PM
Post Reply Email Thread
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>adb shell
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    shell@ZTE_BLADE_A110:/ $ su
    su
    root@ZTE_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:
      mount -o remount,rw /system
    2. Uninstall KingUser (KingRoot Superuser management app)
      Code:
      am kill com.kingroot.kinguser
      pm uninstall com.kingroot.kinguser
    3. Install Busybox (to use chattr)
      Code:
      cat /storage/sdcard1/busybox > /system/bin/busybox
      chown 0.1000 /system/bin/busybox && chmod 0755 /system/bin/busybox
    4. Delete KingRoot system files
      Code:
      busybox chattr -ia /system/bin/.usr/.ku && rm /system/bin/.usr/.ku
      busybox chattr -ia /system/bin/debuggerd && rm /system/bin/debuggerd
      busybox chattr -ia /system/bin/debuggerd64 && rm /system/bin/debuggerd64
      busybox chattr -ia /system/bin/debuggerd_real
      cat /system/bin/debuggerd_real > /storage/sdcard1/debuggerd.bak.$(date +%s)
      rm /system/bin/debuggerd_real
      busybox chattr -ia /system/bin/install-recovery.sh && rm /system/bin/install-recovery.sh
      busybox chattr -ia /system/bin/rt.sh && rm /system/bin/rt.sh
      busybox chattr -ia /system/bin/su && rm /system/bin/su
      busybox chattr -ia /system/etc/install-recovery.sh && rm /system/etc/install-recovery.sh
      busybox chattr -ia /system/etc/install-recovery.sh-ku.bak && rm /system/etc/install-recovery.sh-ku.bak
      busybox chattr -ia /system/xbin/krdem && rm /system/xbin/krdem
      busybox chattr -ia /system/xbin/ku.sud && rm /system/xbin/ku.sud
      busybox chattr -ia /system/xbin/start_kusud.sh && rm /system/xbin/start_kusud.sh
      busybox chattr -ia /system/xbin/su && rm /system/xbin/su
      busybox chattr -ia /system/xbin/supolicy && rm /system/xbin/supolicy
    5. Cleanup
      Code:
      rm /system/usr/icu/icusuflag.conf
      rm -r /data/data-lib/com.kingroot.RushRoot
      rm -r /data/data-lib/com.kingroot.kinguser
      rm -r /data/data-lib/kds
      rm -r /data/data-lib/king
      rm -r /dev/kingroot
      rm -r /sdcard/KingMaster
      rm -r /sdcard/Kingroot
      rm -r /sdcard/Tencent
      rm -r /sdcard/kinguserdown
      rm /sdcard/Download/kmPlugins.zip
      rm /sdcard/kr-stock-conf
    6. More cleanup and uninstall Purify
      Code:
      rm /data/dalvik-cache/arm64/data@data@com.kingroot.kinguser@applib@tm.dex
      rm /data/dalvik-cache/arm64/dev@kds_utils.jar@classes.dex
      rm /data/dalvik-cache/arm64/dev@kingroot@apkparse.jar@classes.dex
      rm /data/dalvik-cache/arm64/system@app@Kinguser@Kinguser.apk@classes.dex
      rm /data/local/tmp/K* (I've forgotten the filename. Anybody?)
      rm /data/local/tmp/krperm.txt
      am kill com.kingstudio.purify
      pm uninstall com.kingstudio.purify
    7. Copy files to system
      Code:
      cat /storage/sdcard1/debuggerd > /system/bin/debuggerd
      cat /storage/sdcard1/debuggerd64 > /system/bin/debuggerd64
      cat /storage/sdcard1/su > /system/xbin/daemonsu
      cat /storage/sdcard1/su > /system/xbin/su
      cat /storage/sdcard1/su > /system/xbin/sugote
      cat /system/bin/sh > /system/xbin/sugote-mksh
    8. Set permissions
      Code:
      chown 0.0 /system/xbin/daemonsu && chmod 0755 /system/xbin/daemonsu
      chown 0.0 /system/xbin/su && chmod 6755 /system/xbin/su
      chown 0.0 /system/xbin/sugote && chmod 0755 /system/xbin/sugote
      chown 0.0 /system/xbin/sugote-mksh && chmod 0755 /system/xbin/sugote-mksh
      chown 0.2000 /system/bin/debuggerd && chmod 0755 /system/bin/debuggerd
      chown 0.2000 /system/bin/debuggerd64 && chmod 0755 /system/bin/debuggerd64
      daemonsu -d
    9. Install SuperSU
      Code:
      pm install /storage/sdcard1/Superuser.apk
    🗒️ Alternatively, use this script: dekingroot_script.zip
  9. Update SU binary

  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

Attached Files
File Type: zip debuggerd.zip - [Click for QR Code] (87.6 KB, 246 views)
File Type: zip debuggerd64.zip - [Click for QR Code] (72.8 KB, 218 views)
File Type: zip supersu_busybox.zip - [Click for QR Code] (3.67 MB, 386 views)
File Type: zip stock_kernel_dtac.co.th.zip - [Click for QR Code] (7.18 MB, 198 views)
File Type: zip stock_kernel_optus.com.au.zip - [Click for QR Code] (7.17 MB, 322 views)
File Type: zip stock_kernel_tiphone.co.id.zip - [Click for QR Code] (7.18 MB, 108 views)
 
 
4th January 2017, 07:32 PM |#2  
xdarthanonx's Avatar
OP Senior Member
Thanks Meter: 55
 
More
TWRP 3.0.2-0



SCREENSHOTS










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\*     <resolution width="480" height="800"/>
  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:
    # mount point       fstype      device      [device2]       [length=]       [flags]
    # Modified by xdarthanonx 08-02-2017
    # https://goo.gl/oR5fsX
    # https://forum.xda-developers.com/showthread.php?t=1943625
    
    /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"
    
    # Removable storage
    /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:
    #
    # ADDITIONAL_DEFAULT_PROPERTIES
    #
    # Modified by xdarthanonx 02-02-2017
    # https://goo.gl/oR5fsX
    
    # Run adbd as root
    ro.secure=0
    ro.debuggable=1
    
    ro.adb.secure=0
    persist.sys.usb.config=mtp,adb
    persist.service.acm.enable=0
    ro.oem_unlock_supported=1
    ro.allow.mock.location=1
    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
    
    # begin build properties
    # autogenerated by buildinfo.sh
    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
    ro.build.version.base_os=ZTE/P635A60_AU_OPT/ZTE_BLADE_A110:5.1/LMY47D/20160428.163242:user/test-keys
    ro.build.inner.version=OPS_AU_S_P635A60V1.0.0B11
    ro.build.date=Thu Apr 28 16:33:28 CST 2016
    ro.build.date.utc=1461832408
    ro.build.type=userdebug
    ro.build.user=diganyun
    ro.build.host=build4-ThinkCentre-M4500k-N000
    ro.build.tags=test-keys
    ro.build.flavor=full_ztehz6735m_65u_l-userdebug
    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=
    #drm.forwardlock.only=true
    # ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
    # use ro.product.cpu.abilist instead.
    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
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=ztehz6735m_65u_l
    # Do not try to parse description, fingerprint, or thumbprint
    ro.build.description=full_ztehz6735m_65u_l-user 5.1 LMY47D 1461832295 test-keys
    ro.build.fingerprint=ZTE/P635A60_AU_OPT/ZTE_BLADE_A110:5.1/LMY47D/20160428.163242:user/test-keys
    ro.build.characteristics=default
    # end build properties
    #
    # from device/ztehz/ztehz6735m_65u_l/system.prop
    #
    #
    # system.prop for generic sdk
    #
    
    rild.libpath=mtk-ril.so
    rild.libargs=-d /dev/ttyC0
    
    
    # MTK, Infinity, 20090720 {
    wifi.interface=wlan0
    # MTK, Infinity, 20090720 }
    
    # MTK, mtk03034, 20101210 {
    ro.mediatek.wlan.wsc=1
    # MTK, mtk03034 20101210}
    # MTK, mtk03034, 20110318 {
    ro.mediatek.wlan.p2p=1
    # MTK, mtk03034 20110318}
    
    # MTK, mtk03034, 20101213 {
    mediatek.wlan.ctia=0
    # MTK, mtk03034 20101213}
    
    
    #
    wifi.tethering.interface=ap0
    #
    
    ro.opengles.version=196608
    
    wifi.direct.interface=p2p0
    dalvik.vm.heapgrowthlimit=128m
    dalvik.vm.heapsize=256m
    
    # USB MTP WHQL
    ro.sys.usb.mtp.whql.enable=0
    
    # Power off opt in IPO
    sys.ipo.pwrdncap=2
    
    ro.sys.usb.storage.type=mtp,mass_storage
    
    # USB BICR function
    ro.sys.usb.bicr=yes
    
    # USB Charge only function
    ro.sys.usb.charging.only=yes
    
    # audio
    ro.camera.sound.forced=0
    ro.audio.silent=0
    
    ro.zygote.preload.enable=0
    
    # temporary enables NAV bar (soft keys)
    qemu.hw.mainkeys=1
    
    ro.kernel.zio=38,108,105,16
    #ro.kernel.qemu=1
    #ro.kernel.qemu.gles=0
    #ro.boot.selinux=disable
    
    # Disable dirty region for Mali
    debug.hwui.render_dirty_regions=false
    
    ro.sf.lcd_density=240
    
    # performance
    ro.mtk_perf_simple_start_win=1
    ro.mtk_perf_response_time=1
    
    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    ro.com.android.dateformat=dd-MM-yyyy
    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:
    # Modified by xdarthanonx 25-01-2017
    # https://goo.gl/oR5fsX
    
    import /init.recovery.logd.rc
    import /init.recovery.usb.rc
    import /init.recovery.${ro.hardware}.rc
    
    on early-init
        # Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
        write /sys/fs/selinux/checkreqprot 0
    
        # Set the security context for the init process.
        # This should occur before anything else (e.g. ueventd) is started.
        setcon u:r:init:s0
    
        start ueventd
        start healthd
    
    service set_permissive /sbin/permissive.sh
        oneshot
        seclabel u:r:recovery:s0
    
    on init
        export PATH /sbin:/system/bin
        export LD_LIBRARY_PATH .:/sbin
        export ANDROID_ROOT /system
        export ANDROID_DATA /data
        export EXTERNAL_STORAGE /sdcard
    
        symlink /system/etc /etc
    
        mkdir /boot
        mkdir /recovery
        mkdir /sdcard
        mkdir /system
        mkdir /data
        mkdir /cache
        #insmod /sec.ko
        #mknod /dev/sec c 182 0
        #chmod 0660 /dev/sec
        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
        #write /proc/bootprof "start mobicore (on fs)"
        #chmod 0600 /dev/mobicore
        #chown system system /dev/mobicore
        #chmod 0666 /dev/mobicore-user
        #chown system system /dev/mobicore-user
        ## MobiCore Daemon Paths
        #export MC_AUTH_TOKEN_PATH /efs
        #start mobicore
        #write /proc/bootprof "start mobicore end (on fs)"
        mount pstore pstore /sys/fs/pstore
    
        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
    
    on boot
        ifup lo
        hostname localhost
        domainname localdomain
    
        class_start default
    
    # Load properties from /system/ + /factory after fs mount.
    on load_all_props_action
        load_all_props
    
    on firmware_mounts_complete
       rm /dev/.booting
    
    # Mount filesystems and start core system services.
    on late-init
        trigger early-fs
        trigger fs
        trigger post-fs
        trigger post-fs-data
    
        # Load properties from /system/ + /factory after fs mount. Place
        # this in another action so that the load will be scheduled after the prior
        # issued fs triggers have completed.
        trigger load_all_props_action
    
        # Remove a file to wake up anything waiting for firmware
        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
        #seclabel u:r:recovery:s0
    
    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
    
    # Always start adbd on userdebug and eng builds
    on property:ro.debuggable=1
        #write /sys/class/android_usb/android0/enable 0
        #write /sys/class/android_usb/android0/idVendor 0E8D
        #write /sys/class/android_usb/android0/idProduct 201C
        #write /sys/class/android_usb/android0/f_ffs/aliases adb
        #write /sys/class/android_usb/android0/functions adb
        #write /sys/class/android_usb/android0/enable 1
        #start adbd
        setprop service.adb.root 1
    
    # Restart adbd so it can run as root
    on property:service.adb.root=1
        write /sys/class/android_usb/android0/enable 0
        restart adbd
        write /sys/class/android_usb/android0/enable 1
    
    ## Start Daemon (Registry directories should already be present)
    #service mobicore /system/bin/mcDriverDaemon -r /system/app/mcRegistry/020f0000000000000000000000000000.drbin -r /system/app/mcRegistry/05120000000000000000000000000000.drbin -r /system/app/mcRegistry/070b0000000000000000000000000000.drbin
            #user system
            #group system
            #class core
            #oneshot
  • init.recovery.usb.rc
    Code:
    # Modified by xdarthanonx 01-02-2017
    # https://goo.gl/oR5fsX
    
    # idVendor 0E8D (MTK/MediaTek)
    # idVendor 18D1 (Google)
    # idVendor 19D2 (ZTE)
    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}
    
    # Used to disable USB when switching states
    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
twrp_zte_a110.img

C:\Users\xdarthanonx\Downloads\twrp>adb reboot bootloader
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

C:\Users\xdarthanonx\Downloads\twrp>fastboot flash recovery twrp_zte_a110.img
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>fastboot reboot && adb wait-for-device reboot recovery
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



THANKS


RELEVANT LINKS

Attached Files
File Type: zip stock_recovery.zip - [Click for QR Code] (8.12 MB, 480 views)
File Type: zip twrp_zte_a110-20170208-0200.zip - [Click for QR Code] (11.59 MB, 908 views)
4th January 2017, 07:33 PM |#3  
xdarthanonx's Avatar
OP Senior Member
Thanks Meter: 55
 
More
Question 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 *
    shell@ZTE_BLADE_A110:/ $ ls -Z /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.
9th January 2017, 03:02 PM |#4  
Member
Thanks Meter: 16
 
More
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
9th January 2017, 04:42 PM |#5  
xdarthanonx's Avatar
OP Senior Member
Thanks Meter: 55
 
More
Quote:
Originally Posted by bchliu

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



Connect the phone as a CD-ROM and run Setup.exe.
The Following User Says Thank You to xdarthanonx For This Useful Post: [ View ] Gift xdarthanonx Ad-Free
10th January 2017, 12:50 AM |#6  
Member
Thanks Meter: 16
 
More
Quote:
Originally Posted by xdarthanonx



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).
10th January 2017, 05:25 AM |#7  
xdarthanonx's Avatar
OP Senior Member
Thanks Meter: 55
 
More
Quote:
Originally Posted by bchliu

I've followed all the steps and the screen on Step 5 does not show.

No, that image is just a place holder I've changed it to make the meaning clearer.
30th June 2017, 08:55 AM |#8  
Senior Member
Thanks Meter: 71
 
More
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?
30th June 2017, 10:20 PM |#9  
xdarthanonx's Avatar
OP Senior Member
Thanks Meter: 55
 
More
Quote:
Originally Posted by jnvdh06

Can someone tell me what type of stock rom this comes with?

I think it's pretty close to standard Lollipop 5.1. GravityBox and other AOSP-based apps work fine.

Quote:

I see some versions have a stock Android rom and others seem to have some type of OEM skin?

I don't understand this question.
Post Reply Subscribe to Thread

Tags
a110, kingroot, root, twrp, zte

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes