Build error - Omni Q&A

I'm compiling omni for falcon(Motorola Moto G)
My computer specs are as follows
i5 3570 cpu
8gb ram
nvidia gtx 650 cpu
1tb hard disk
i think thats enough for building
the build is building forever here is bruch falcon command
Code:
[email protected]:~$ brunch falcon
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
TARGET_PRODUCT=omni_falcon
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=KVT49L
OUT_DIR=/home/rohan/out
============================================
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
TARGET_PRODUCT=omni_falcon
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=KVT49L
OUT_DIR=/home/rohan/out
============================================
after i press ctrl+c
Code:
^CTraceback (most recent call last):
File "build/tools/findleaves.py", line 98, in <module>
main(sys.argv)
File "build/tools/findleaves.py", line 92, in main
results = list(set(perform_find(mindepth, prune, dirlist, filename)))
File "build/tools/findleaves.py", line 31, in perform_find
for root, dirs, files in os.walk(rootdir, followlinks=True):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
[email protected]:~$ for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 284, in walk
if isdir(join(top, name)):
File "/usr/lib/python2.7/genericpath.py", line 41, in isdir
st = os.stat(s)
KeyboardInterrupt
^C

I have same problem.
After a few compilations i get some problem. Run "make -j4" and no echo...
Solution is found. After build kernel and "modules_install" mode you get loop symlinks in <INSTALL_MOD_PATH>/build directory and <INSTALL_MOD_PATH>/src
Please delete this symlinks and android.make will be success

Related

[DEV] Hardware Research

Hello happy iconia users!
I propose to dedicate this thread to collecting information about iconia hardware (gpio routing, clocks, embedded chips) and then making a page on xda wiki to reflect the changes. The main purpose is to prepare for future kernel developments. Currenty Acer has not released kernel sources (although i have asked in the acer world support - they sent me to russian support and they in turn told me to forget about kernel sources because A500 is not officially released here yet). This has of course brought great disappointment to me and I even thought about disassembling kernel (which I have obviously started doing but didn't want to waste my time on it), but while playing with the device I had a brilliant idea that I've immediately checked - the kernel is built with debugfs.
So, i did a mount -t debugfs none /mnt/usb_storage and got some interesting details from there. Currently I am busy with several other projects so won't be investing time into iconia hacking but will instead just leave the information here in a hope that it will be wikified or at least someone finds it useful. Some chips are identified and marked to indicate their support level by the currently available sources in mainline linux kernel and google tegra tree.
1. GPIO table
Code:
GPIOs 0-223, tegra-gpio:
gpio-10 (lvds_shdn ) out hi
gpio-22 (pnl_pwr_enb ) out hi
gpio-23 (KEY_POWER ) in lo irq-215 edge-both
gpio-28 (backlight_enb ) out hi
gpio-67 (KEY_POWER ) in lo irq-259 edge-both
gpio-69 (sdhci2_cd ) in lo irq-261 edge-both
gpio-70 (sdhci3_power ) out hi
gpio-85 (wlan_power ) out lo
gpio-86 (wlan_rst ) out hi
gpio-109 (mpu_akm8975 ) in lo irq-301 edge-rising
gpio-110 (temp_alert ) in hi irq-302 edge-both
gpio-111 (hdmi_hpd ) in lo irq-303 edge-both
gpio-132 (KEY_VOLUMEUP ) in hi irq-324 edge-both
gpio-133 (KEY_VOLUMEDOWN ) in hi irq-325 edge-both
gpio-135 (atmel_maXTouch1386 ) out hi
gpio-136 (sysfs ) in lo irq-328 edge-both
gpio-137 (sysfs ) in lo
gpio-142 (chg_disable ) out lo
gpio-144 (oob irq ) in lo irq-336 level-high wakeup
gpio-151 (mpu_kxtf9 ) in lo irq-343 edge-rising
gpio-155 (sdhci2_power ) out hi
gpio-160 (bcm4329_nshutdown_gp) out lo
gpio-161 (bt_ext_wake ) out lo
gpio-166 (bt_host_wake ) in hi
gpio-171 (ac_present ) in lo irq-363 edge-both
gpio-173 (vibrator ) out lo
gpio-174 (atmel_maXTouch1386_i) in hi irq-366 level-low
gpio-178 (headphone-detect-gpi) in hi irq-370 edge-both
gpio-190 (dock_headphone-detec) in hi irq-382 edge-both
gpio-202 (isl29018 ) in hi irq-394 edge-falling
gpio-203 (sysfs ) out lo
gpio-204 (mpu3050 ) in lo irq-396 edge-rising
GPIOs 224-227, i2c/4-0034, tps6586x, can sleep:
gpio-224 (pcie_vdd ) out hi
here we can see a reference to tps6586x which seems to be a multifunction device acting as a gpio expander with irq support, pwm controller, rtc controller and possibly other functions are provided by it. supported by linux
if the gpio names are not lying, we have an Atmel MaxTouch 1386 which is capable of handling 16 independent presses simultaneously Product brief on the Atmel site. FWIW i have managed to get 8 fingers to get tracked in some app and I'm quite impressed.
some driver exists for asus transformer but further investigation is needed
akm8975 compass chip supported by linux
AD5820 camera actuator supported by linux
ov5650 rear camera supported by linux and tegra media drivers
wm8903 audio codec supported by linux
bcm4329 wifi/bluetooth chip supported by both vanilla linux and separate module sources are also available
Another interesting project might be dumping the bootloader and finding out how it checks the recovery and boot images for security so the first step to running a custom rom on our tablets will be identifying the possibilities of building a kernel with kexec support and possibly installing a second-stage bootloader to load custom kernels but let's wait for the kernel sources first.
Further posts will contain additional information
tegra pinmux config. should be enough to restore the initialization tables in kernel and build a bootable image
Code:
{TEGRA_PINGROUP_ATA, TEGRA_MUX_IDE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_ATB, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_ATC, TEGRA_MUX_NAND, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_ATD, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_ATE, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_CDEV1, TEGRA_MUX_PLLA_OUT, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_CDEV2, TEGRA_MUX_PLLP_OUT4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_CRTP, TEGRA_MUX_CRT, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_CSUS, TEGRA_MUX_VI_SENSOR_CLK, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DAP1, TEGRA_MUX_DAP1, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DAP2, TEGRA_MUX_DAP2, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_DAP3, TEGRA_MUX_DAP3, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_DAP4, TEGRA_MUX_DAP4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DDC, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DTA, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DTB, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DTC, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DTD, TEGRA_MUX_VI, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DTE, TEGRA_MUX_VI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DTF, TEGRA_MUX_I2C3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_GMA, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_GMB, TEGRA_MUX_GMI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_GMC, TEGRA_MUX_UARTD, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_GMD, TEGRA_MUX_SFLASH, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_GME, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_GPU, TEGRA_MUX_PWM, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_GPU7, TEGRA_MUX_RTCK, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_GPV, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_HDINT, TEGRA_MUX_HDMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_I2CP, TEGRA_MUX_I2C, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_IRRX, TEGRA_MUX_UARTB, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_IRTX, TEGRA_MUX_UARTB, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_KBCA, TEGRA_MUX_KBC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_KBCB, TEGRA_MUX_KBC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_KBCC, TEGRA_MUX_KBC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_KBCD, TEGRA_MUX_KBC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_KBCE, TEGRA_MUX_KBC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_KBCF, TEGRA_MUX_KBC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LCSN, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LD0, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD1, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD10, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD11, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD12, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD13, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD14, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD15, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD16, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD17, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD2, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD3, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD4, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD5, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD6, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD7, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD8, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LD9, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LDC, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LDI, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LHP0, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LHP1, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LHP2, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LHS, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LM0, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LM1, TEGRA_MUX_CRT, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LPP, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LPW0, TEGRA_MUX_HDMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LPW1, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LPW2, TEGRA_MUX_HDMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LSC0, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LSC1, TEGRA_MUX_HDMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LSCK, TEGRA_MUX_HDMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LSDA, TEGRA_MUX_HDMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LSDI, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LSPI, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LVP0, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_LVP1, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_LVS, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_OWC, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_PMC, TEGRA_MUX_PWR_ON, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_PTA, TEGRA_MUX_I2C2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_RM, TEGRA_MUX_I2C, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SDB, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SDC, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SDD, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SLXA, TEGRA_MUX_PCIE, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SLXC, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SLXD, TEGRA_MUX_SPDIF, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SLXK, TEGRA_MUX_SDIO3, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SPDI, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SPDO, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_SPIA, TEGRA_MUX_GMI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPIB, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPIC, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPID, TEGRA_MUX_SPI1, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPIE, TEGRA_MUX_SPI1, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPIF, TEGRA_MUX_SPI1, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPIG, TEGRA_MUX_SPI2_ALT, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_SPIH, TEGRA_MUX_SPI2_ALT, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE},
{TEGRA_PINGROUP_UAA, TEGRA_MUX_ULPI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_UAB, TEGRA_MUX_ULPI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_UAC, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_UAD, TEGRA_MUX_IRDA, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_UCA, TEGRA_MUX_UARTC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_UCB, TEGRA_MUX_UARTC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_UDA, TEGRA_MUX_ULPI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_CK32, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_DDRC, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_PMCA, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_PMCB, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_PMCC, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_PMCD, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_PMCE, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_XM2C, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
{TEGRA_PINGROUP_XM2D, TEGRA_MUX_NONE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL},
tegra pinmux drive
Code:
{TEGRA_DRIVE_PINGROUP_AO1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_AO2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_AT1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_AT2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_CDEV1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_CDEV2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_CSUS, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_DAP1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_DAP2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_DAP3, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_DAP4, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_DBG, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_LCD1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_LCD2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_SDMMC2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_SDMMC3, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_SPI, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_UAA, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_UAB, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_UART2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_UART3, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_VI1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_VI2, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_XM2A, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_8, TEGRA_PULL_28, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_FAST},
{TEGRA_DRIVE_PINGROUP_XM2C, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_FAST},
{TEGRA_DRIVE_PINGROUP_XM2D, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_FAST},
{TEGRA_DRIVE_PINGROUP_XM2CLK, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_8, TEGRA_PULL_28, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_FAST},
{TEGRA_DRIVE_PINGROUP_MEMCOMP, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_8, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_FASTEST, TEGRA_SLEW_FASTEST},
{TEGRA_DRIVE_PINGROUP_SDIO1, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_CRT, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_DDC, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_ENABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_31, TEGRA_PULL_31, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_GMA, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_GMB, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_GMC, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_GMD, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_GME, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_OWR, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
{TEGRA_DRIVE_PINGROUP_UAD, TEGRA_HSM_DISABLE, TEGRA_SCHMITT_DISABLE, TEGRA_DRIVE_DIV_1, TEGRA_PULL_18, TEGRA_PULL_22, TEGRA_SLEW_SLOWEST, TEGRA_SLEW_SLOWEST},
debugfs clock directory should have necessary data to configure lcd clock and backlight pwm period
you are saying that the Iconia has teh wolfson wm8903 chip in it??
that's amazing! Definitely getting one now!
[Offtop]
Dear sp3dev, how I can see you are also from Russia, how do you think - have we any chanses to connect Yota SWC-U200 to ours tablets?
Shir_man said:
[Offtop]
Dear sp3dev, how I can see you are also from Russia, how do you think - have we any chanses to connect Yota SWC-U200 to ours tablets?
Click to expand...
Click to collapse
I think, yes. I am busy now but if you want, I can try building the driver during the weekends, although we'd better discuss it in the kernel modules thread. PM me with your jabber or email so that I can send you the files to test. And tell me your kernel version (in Settings->About).
sp3dev said:
I think, yes. I am busy now but if you want, I can try building the driver during the weekends, although we'd better discuss it in the kernel modules thread. PM me with your jabber or email so that I can send you the files to test. And tell me your kernel version (in Settings->About).
Click to expand...
Click to collapse
I wrote to you an email, check it please
Oops. Turns out I had an old account which is now deleted in my profile. Please send one more email so that it goes to the correct address now.
Ok, some of you know I was disappointed with Iconia and sold mine. But now that asus transformer is likely to be not shipped here and other tegra devices have little ram I may be switching back. But anyways...
I have set up a git here https://github.com/astarasikov/android_kernel_TF101 which is a clone of netarchy's transformer kernel. Later (I plan to start working tomorrow or on thursday) I will add some changes to support Iconia including gpio pinmux and fill framebuffer/clocks setup with values from the disassembled kernel.
What I need now is that some experienced developer like thor2002ro or someone else tests some kernel images I'll build and continues the development.
For now, if anyone is interested in decompiling original kernel, here is a hint. It is compressed with gzip. Gzip header is 1F 8B 08. Look for it in the extracted kernel image. The one I'm experimenting with had it at 16409 (decimal). So to extract it you can use
Code:
dd if=kernel bs=1 skip=16409 | gunzip > kernel_uncompressed
Maybe you could ask Dexter_nlb, sc2k and vache for some help with this i believe they are quite talented in the dev community, you could also try to put out test kernels that the community could test and provide feedback.
Ok, I have spent some time hex-viewing the kernel and have extracted the pwm (backlight) and framebuffer settings. Now RAM tables are left to go (I have found them but was lazy to parse)
Code:
static struct platform_pwm_backlight_data ventana_backlight_data = {
.pwm_id = 2,
.max_brightness = 255,
.dft_brightness = 224, -> our value. anything will go actually
.pwm_period_ns = 4166923 -> our value. better not change
...
}
Code:
static struct tegra_dc_mode ventana_panel_modes[] = {
{
/* Warning.
* The real LCD pclk will be replaced in tegra_dc_probe(). */
.pclk = 62200000, -> our value, the rest seem to match asus ones
.h_ref_to_sync = 11,
.v_ref_to_sync = 1,
.h_sync_width = 58,
.v_sync_width = 4,
.h_back_porch = 58,
.v_back_porch = 4,
.h_active = 1280,
.v_active = 800,
.h_front_porch = 58,
.v_front_porch = 4,
},
};
suspend settings
Code:
static struct tegra_suspend_platform_data ventana_suspend_data = {
/*
* Check power on time and crystal oscillator start time
* for appropriate settings.
*/
.cpu_timer = 5000, -> our value
.cpu_off_timer = 5000, -> our value
.suspend_mode = TEGRA_SUSPEND_LP0,
.core_timer = 0x7e7e,
.core_off_timer = 0x7f, -> our value
.separate_req = true,
.corereq_high = false,
.sysclkreq_high = true,
.wake_enb = 0, -> these need to be verified or filled manually
.wake_high = 0,
.wake_low = 0,
.wake_any = 0,
};
Here is the A500 Service Guide for Acer support.
It have all hardware details and some diagrams. Maybe it can help.
http://a500.teamtep.gaming.cx/SG_ICONIA Tab A500_20110421.pdf
P.S : i'm ready to test/build kernel. Let me know when you need help.
Thanks for the manual. It contains some info about the chips used but unfortunately does not give exact data like timings or gpios but I have extracted almost all needed data from the binary.
As all ventana boards share the same mtype, my idea is to make a compile-time option to select the board and the files for the board (transformer/iconia/atrix etc) should be in a subdirectory or just named differently. So I'm gonna do some cleanup to asus sources and build a couple kernels for you tomorrow.
Depending on whether asus transformer will be available here I will or will not join the iconian party myself later...
I'm very interested in the docking port...
..and possibly bringing a cable / alt. dock to market for this guy. Anyone have the pinout and specs for this? Or where I might start to look?
Thanks in advance...!
Here is a test zImage - http://www.mediafire.com/?g7a1nh23qs52302
all the changes are in git (https://github.com/astarasikov/iconia_kernel)
ok, here is a short summary.
1. Basically, transformer kernel is ****ed up many ways. Those monkeys either have no sense how to code or are professional trolls. Can you imagine board-specific callbacks for transformer to be hooked everywhere, even in gpio-keys, sdio core? A battery callback in framebuffer? If we make any custom image boot on iconia, we must start over with a clean tree like android or chromium
2. I have made some switch in config to allow to select transformer or iconia at compile time.. Basically, now we have to copy transformer files and make modifications to them and clean up crap.
3. I have found the sdram config tables but didn't take time to disassemble original zImage and find the detection routine. So if this particular image doesn't boot, someone will have to try with different memtype values in ventana_emc_init() in board-ventana-memory-a500.c
4. Some hardware like one of cameras is not supported by this kernel tree. For now the priority is to get it to boot and make display work and then we'll need another tree anyway.
So, all in all, I suggest that someone who owns the device tries to find out the memory detection thingie and starts with a clean tree. I can help with the disassembly part. I'm personally shocked by the code quality of asus and this is imho enough good reason to keep away from this stuff..
And btw, have fun
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Nice work. Is this overclocked like I see in the iconia source tree?
I am new to Linux kernel compilation and am learning as I go. I have taken the latest version of the kernel source from the ASUS web site and have had to make many of the same fixes you mention. I am cross compiling against the arm-eabi- and have gotten it to build as well. I must be doing something right because my zImage is ~2.8Mb just like yours! The .config file I am using came from an iconia source that someone posted, so I feel pretty good about the kernel configuration options I have selected. I have also compiled some kernel modules and they are working good on my 3.01 Iconia, so that made me feel good as well
I would love to see someone give it a try. I would give it a whirl, but I haven't dug into the itsmagic and the 3.1 ROM dexter posted yet. Hopefully someone comfortable with these new methods will give it a try and report back. I am also be willing to post my zImage (not overclocked) if someone wants to give it a try.
I want someone like vache to try it out. But now that the kernel source release date is confirmed it makes no sense to continue here as we'd have to rewrite a lot of stuff like camera driver and memory detection..
so we got a kernel to compile and it works?
i would assume that the tiomat changes can be brought into this source git tree?
We can compile. No one has tried to see if it works and you're welcome to. But now that the official release date is 22nd, it makes sense to wait
sp3dev said:
We can compile. No one has tried to see if it works and you're welcome to. But now that the official release date is 22nd, it makes sense to wait
Click to expand...
Click to collapse
sure.. ill wait for the official then..
sp3dev said:
We can compile. No one has tried to see if it works and you're welcome to. But now that the official release date is 22nd, it makes sense to wait
Click to expand...
Click to collapse
Where did you hear that it'll be released on 22nd?
Sent from my HTC HD2 using XDA Premium App

Sense 4.0 Camera logcat question

W/HTCCamera(12399): onStart() - start
W/HTCCamera(12399): onStart() - end
W/HTCCamera(12399): onNewIntent: com.android.camera.CameraEntry
W/IntentManager(12399): from class: com.android.camera.CameraEntry
W/IntentManager(12399): mRequestMode = RequestMode.Main, from Camera
W/IntentManager(12399): request name = null - RequestName.Unknown_General
W/IntentManager(12399): extras == null
W/CameraThread(12399): changeMode() - Change to same mode
D/Event (12399): [CameraThread.RequestOpenCamera] rasing
D/Event (12399): [CameraThread.RequestOpenCamera] raised
D/CameraService( 1191): CameraService::connect E (pid 12399, id 0)
I/CameraService( 1191): cameraId:0
I/CameraService( 1191): Main Camera Only
I/CameraService( 1191): 2D mode only
I/CameraService( 1191): Opening camera 0
I/QualcommCameraHardware( 1191): openCameraHardware: call createInstance cameraI
d 0
I/QualcommCameraHardware( 1191): createInstance: E
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() E
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() X
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() E
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() X
D/CameraPP( 1191): CameraPP::CameraPP()
D/SDO_PP ( 1191): SDO_PP::SDO_PP()
I/OlaEngine( 1191): [Ola_Engine_Create:79] engine build info [ name ] : htc
I/OlaEngine( 1191): [Ola_Engine_Create:83] engine build info [ date ] : 2012-02-
14 14:49:38
I/OlaEngine( 1191): [Ola_Engine_Create:87] engine build info [ version ] : __bul
id_revision_226__
D/CameraFace_OLA( 1191): create OlaEngine
I/FD ( 1191): [Ola_FaceDetector_Create:135] create num : 20
D/CameraFace_OLA( 1191): create Ola FD
V/Olaworks( 1191): [Ola_BeautyShotEngine_Create] prr(0x009c74e0)
D/CameraFace_OLA( 1191): create Ola BS
D/CameraFace_OLA( 1191): create Ola SD
D/CameraFace_OLA( 1191): create Ola BD
D/CameraFace( 1191): alloc face_t 0xa46958 num 10
D/QualcommCameraHardware( 1191): Storing the current target type as 2
I/CAF_Sensor( 1191): android::CAFSensorListener::CAFSensorListener() E
I/CAF_Sensor( 1191): android::CAFSensorListener::CAFSensorListener() X
I/CAF_Sensor( 1191): android::status_t android::CAFSensorListener::initialize()
E
D/Event (12399): [HTCCamera.NewIntent] rasing
W/ViewFinder(12399): newIntentEvent m_PreviewSurfaceView INVISIBLE
D/Event (12399): [HTCCamera.NewIntent] raised
W/HTCCamera(12399): addFlags FLAG_SHOW_WHEN_LOCKED onNewIntent
W/HTCCamera(12399): onNewIntent: com.android.camera.CameraEntry
W/HTCCamera(12399): onResume() - start
D/ ( 1351): SensorChannel(): mSendFd = 345, mReceiveFd = 320
W/HTCCamera(12399): !!!! @@@@ broadcastStopVoiceRecording() - start
W/HTCCamera(12399): !!!! @@@@ broadcastStopVoiceRecording() - end
W/HTCCamera(12399): OnResume - reset UI, immediately set mMainLayout invisible
W/HTCCamera(12399): onResume() - mFocusingState = NO_FOCUSING
W/HTCCamera(12399): keyguard is not shown !!!!!
D/Event (12399): [HTCCamera.Resuming] rasing
D/Event (12399): [HTCCamera.Resuming] raised
D/Property(12399): [HTCCamera.IsActivityPaused] true -> false
W/ViewFinder(12399): isActivityPaused false m_PreviewSurfaceView VISIBLE
W/HTCCamera(12399): OnResume - set mWaitResetSettings to true
W/HTCCamera(12399): onResume() - mIdle = false
W/HTCCamera(12399): addFlags FLAG_SHOW_WHEN_LOCKED onResume
W/HTCCamera(12399): onResume() - end
D/ ( 1191): SensorChannel(const Parcel& data): mSendFd = -1, mReceiveFd =
102
I/CAF_Sensor( 1191): android::status_t android::CAFSensorListener::initialize()
X
I/CAF_Sensor( 1191): void android::CAFSensorListener::setCallbacks(void (*)(int,
void*), void*) E
I/CAF_Sensor( 1191): void android::CAFSensorListener::setCallbacks(void (*)(int,
void*), void*) X
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): build changelist: 47452
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): build date: S¦î 3µ£ê 20 00:48:00 CST 2012
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): build description: Virtuous Primadonna v1.12.0 Alpha1
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): sense version: 4.0
D/QualcommCameraHardware( 1191): constructor EX
I/QualcommCameraHardware( 1191): createInstance: created hardware=0x9c7950
D/QualcommCameraHardware( 1191): startCamera E
D/QualcommCameraHardware( 1191): loading liboemcamera at 0xb000fa2c
D/QualcommCameraHardware( 1191): Set main cam and main cam only
I/mm-camera( 1191): set sensor selection :0
D/QualcommCameraHardware( 1191): Open Device node : /dev/msm_camera/control0
E/QualcommCameraHardware( 1191): startCamera X: /dev/msm_camera/control0 open fa
iled: No such file or directory!
E/QualcommCameraHardware( 1191): createInstance: startCamera failed!
E/CameraService( 1191): Could not open camera 0: -1
I/CameraService( 1191): Destroying camera 0
E/CameraThread(12399): Cannot open camera device
E/CameraThread(12399): java.lang.RuntimeException: Fail to connect to camera ser
vice
E/CameraThread(12399): at android.hardware.Camera.native_setup(Native Method)
E/CameraThread(12399): at android.hardware.Camera.<init>(Camera.java:325)
E/CameraThread(12399): at android.hardware.Camera.open(Camera.java:284)
E/CameraThread(12399): at com.android.camera.CameraThread.openCameraInternal(Ca
meraThread.java:1415)
E/CameraThread(12399): at com.android.camera.CameraThread.access$1500(CameraThr
ead.java:63)
E/CameraThread(12399): at com.android.camera.CameraThread$MainHandler.handleMes
sage(CameraThread.java:733)
E/CameraThread(12399): at android.os.Handler.dispatchMessage(Handler.java:99)
E/CameraThread(12399): at android.os.Looper.loop(Looper.java:154)
E/CameraThread(12399): at com.android.camera.CameraThread.run(CameraThread.java
:2679)
I/EASAppSvc(12265): [ NA ]setPause(com.android.camera.HTCCamera)
D/libEGL (12399): loaded /system/lib/egl/libGLES_android.so
D/libEGL (12399): loaded /system/lib/egl/libEGL_adreno200.so
D/libEGL (12399): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
D/libEGL (12399): loaded /system/lib/egl/libGLESv2_adreno200.so
D/OpenGLRenderer(12399): Enabling debug mode 0
D/Event (12399): [HTCCamera.PreviewSurfaceCreated] rasing
W/HTCCamera(12399): Bind [CaptureBar.IsPhotoButtonPressed] to [HTCCamera.IsPhoto
CaptureButtonPressed]
D/Property(12399): Create binding : [CaptureBar.IsPhotoButtonPressed] -----> [HT
CCamera.IsPhotoCaptureButtonPressed]
W/HTCCamera(12399): Bind [CaptureBar.IsVideoButtonPressed] to [HTCCamera.IsVideo
CaptureButtonPressed]
D/Property(12399): Create binding : [CaptureBar.IsVideoButtonPressed] -----> [HT
CCamera.IsVideoCaptureButtonPressed]
D/skia (12399): Decode special JPEG file
D/skia (12399): Decode special JPEG file
D/skia (12399): Decode special JPEG file
D/skia (12399): Decode special JPEG file
W/HTCCamera(12399): onPreviewSurfaceCreated() - [email protected]
918
W/HTCCamera(12399): onPreviewSurfaceCreated() - Start preview
D/Property(12399): [CaptureUIBlockManager.IsCaptureUIBlocked] false -> true
D/Property(12399): [HTCCamera.IsCaptureUIBlocked] false -> true
D/Property(12399): [HTCCamera.IsPreviewStarting] false -> true
W/CameraThread(12399): CameraHandler Message - START_PREVIEW start modePhoto
D/Event (12399): [CameraThread.RequestOpenCamera] rasing
D/Event (12399): [CameraThread.RequestOpenCamera] raised
D/CameraService( 1191): CameraService::connect E (pid 12399, id 0)
I/CameraService( 1191): cameraId:0
I/CameraService( 1191): Main Camera Only
I/CameraService( 1191): 2D mode only
I/CameraService( 1191): Opening camera 0
I/QualcommCameraHardware( 1191): openCameraHardware: call createInstance cameraI
d 0
I/QualcommCameraHardware( 1191): createInstance: E
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() E
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() X
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() E
D/DHDiagnostic( 1191): android:HDiagnostic:HDiagnostic() X
D/CameraPP( 1191): CameraPP::CameraPP()
D/SDO_PP ( 1191): SDO_PP::SDO_PP()
I/OlaEngine( 1191): [Ola_Engine_Create:79] engine build info [ name ] : htc
I/OlaEngine( 1191): [Ola_Engine_Create:83] engine build info [ date ] : 2012-02-
14 14:49:38
I/OlaEngine( 1191): [Ola_Engine_Create:87] engine build info [ version ] : __bul
id_revision_226__
D/CameraFace_OLA( 1191): create OlaEngine
I/FD ( 1191): [Ola_FaceDetector_Create:135] create num : 21
D/CameraFace_OLA( 1191): create Ola FD
V/Olaworks( 1191): [Ola_BeautyShotEngine_Create] prr(0x00a46920)
D/CameraFace_OLA( 1191): create Ola BS
D/CameraFace_OLA( 1191): create Ola SD
D/CameraFace_OLA( 1191): create Ola BD
D/CameraFace( 1191): alloc face_t 0xac5d98 num 10
D/QualcommCameraHardware( 1191): Storing the current target type as 2
I/CAF_Sensor( 1191): android::CAFSensorListener::CAFSensorListener() E
I/CAF_Sensor( 1191): android::CAFSensorListener::CAFSensorListener() X
I/CAF_Sensor( 1191): android::status_t android::CAFSensorListener::initialize()
E
W/HTCCamera(12399): Enable GC
W/dalvikvm(12399): disableGcForExternalAlloc: false
D/Event (12399): [HTCCamera.PreviewSurfaceCreated] raised
D/ ( 1351): SensorChannel(): mSendFd = 348, mReceiveFd = 346
D/ ( 1191): SensorChannel(const Parcel& data): mSendFd = -1, mReceiveFd =
106
I/CAF_Sensor( 1191): android::status_t android::CAFSensorListener::initialize()
X
I/CAF_Sensor( 1191): void android::CAFSensorListener::setCallbacks(void (*)(int,
void*), void*) E
I/CAF_Sensor( 1191): void android::CAFSensorListener::setCallbacks(void (*)(int,
void*), void*) X
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): build changelist: 47452
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): build date: S¦î 3µ£ê 20 00:48:00 CST 2012
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): build description: Virtuous Primadonna v1.12.0 Alpha1
E/QualcommCameraHardware( 1191): android::QualcommCameraHardware::QualcommCamera
Hardware(): sense version: 4.0
D/QualcommCameraHardware( 1191): constructor EX
I/QualcommCameraHardware( 1191): createInstance: created hardware=0xa46d90
D/QualcommCameraHardware( 1191): startCamera E
D/QualcommCameraHardware( 1191): loading liboemcamera at 0xb000fa2c
D/QualcommCameraHardware( 1191): Set main cam and main cam only
I/mm-camera( 1191): set sensor selection :0
D/QualcommCameraHardware( 1191): Open Device node : /dev/msm_camera/control0
E/QualcommCameraHardware( 1191): startCamera X: /dev/msm_camera/control0 open fa
iled: No such file or directory!
E/QualcommCameraHardware( 1191): createInstance: startCamera failed!
E/CameraService( 1191): Could not open camera 0: -1
I/CameraService( 1191): Destroying camera 0
E/CameraThread(12399): Cannot open camera device
E/CameraThread(12399): java.lang.RuntimeException: Fail to connect to camera ser
vice
E/CameraThread(12399): at android.hardware.Camera.native_setup(Native Method)
E/CameraThread(12399): at android.hardware.Camera.<init>(Camera.java:325)
E/CameraThread(12399): at android.hardware.Camera.open(Camera.java:284)
E/CameraThread(12399): at com.android.camera.CameraThread.openCameraInternal(Ca
meraThread.java:1415)
E/CameraThread(12399): at com.android.camera.CameraThread.openCamera(CameraThre
ad.java:1352)
E/CameraThread(12399): at com.android.camera.CameraThread.startPreviewInternal(
CameraThread.java:1744)
E/CameraThread(12399): at com.android.camera.CameraThread.access$1300(CameraThr
ead.java:63)
E/CameraThread(12399): at com.android.camera.CameraThread$MainHandler.handleMes
sage(CameraThread.java:701)
E/CameraThread(12399): at android.os.Handler.dispatchMessage(Handler.java:99)
E/CameraThread(12399): at android.os.Looper.loop(Looper.java:154)
E/CameraThread(12399): at com.android.camera.CameraThread.run(CameraThread.java
:2679)
W/CameraThread(12399): CameraHandler Message - START_PREVIEW end
I/ActivityManager( 1351): Displayed com.android.camera/.CameraEntry: +622ms
it seems like out device board is recognized is there a was to force recognition?
Its recognized as an HTC Camera but until u patch it to work with the current Sense hardware its not gonna work no matter what you do. Missing Drivers & Working Camera Hardware patch.
Sent from my HTC Glacier using Tapatalk

Recovery mod on Mtk6595 Soc

How to Build new recovery modded for Zopo zp999 or 3X Mtk 6595M
In this thread we will discuss how to create or build new recovery modded for Zopo zp999 Mtk 6595M.
But also we are studing the new Mtk 6595 SOC.
Everybody are Welcome!​
XDA:DevDB Information
How to Build New Recovery mod on Mtk6595 Soc, Tool/Utility for all devices (see above for details)
Contributors
ghost45, Carliv, Bigrammy,Marsapa,Codelover,Yuweng,SevenMaxs.
Version Information
Status: Testing
Created 2014-12-29
Last Updated 2014-12-29
The Discussion Is Here for moment:
http://forum.xda-developers.com/gen...-recovery-modded-zopo-zp999-3x-t2946325:good:
Reserved for Future USe
Factory ROM BackUp
Sharing my findings on how to manually make a SP Flash Tool Factory ROM backup on this new MediaTek MT6595 SoC . . .
For vendors that doesn't offer it or for users that couldn't find it for their new unknown brand MT6595 . . .
Based on the discussion here, MTK Droid Tools doesn't work & there are only two known MT6595, the Zopo999 & Lenovo X2 that offers SP Flash Tool format.
Below are ways to manually backup the Factory ROM on MT6595.
Method 1
Using adb shell dd command
It is now even easier to make backup on the new MT6595 b'cos it is using direct device path instead of the old format dumchar_info. Require root access !
Based on ghost45 feedback here, you can directly use dd command to make a backup.
Code:
adb shell
[COLOR="blue"]ls -al /dev/block/platform/mtk-msdc.0/by-name[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]boot[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p7[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]cache[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p14[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 expdb -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2014-12-16 18:25 flashinfo -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]lk[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p6[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]logo[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p11[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 nvram -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-12-16 18:25 para -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2014-12-16 18:25 proinfo -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2014-12-16 18:25 protect1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2014-12-16 18:25 protect2 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]recovery[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p8[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 seccfg -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]secro[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p9[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]system[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p13[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]userdata[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p15[/COLOR]
Based on Factory ROM from Zopo, you'll only need to make backup of 8 partition as highlighted above.
Code:
adb shell su -c "dd if=[COLOR="Blue"]/dev/block/mmcblk0p7[/COLOR] of=/sdcard/boot.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p14[/COLOR] of=/sdcard/cache.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p6[/COLOR] of=/sdcard/lk.bin"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p11[/COLOR] of=/sdcard/logo.bin"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p8 [/COLOR]of=/sdcard/recovery.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p9[/COLOR] of=/sdcard/secro.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p13[/COLOR] of=/sdcard/system.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p15[/COLOR] of=/sdcard/userdata.img"
Updates
Found out you can also use below command to backup too.
Code:
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="Blue"]boot[/COLOR] of=/sdcard/boot.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]cache[/COLOR] of=/sdcard/cache.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]lk[/COLOR] of=/sdcard/lk.bin"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]logo[/COLOR] of=/sdcard/logo.bin"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]recovery[/COLOR] of=/sdcard/recovery.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]secro[/COLOR] of=/sdcard/secro.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]system[/COLOR] of=/sdcard/system.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]userdata[/COLOR] of=/sdcard/userdata.img"
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You don't actually need userdata as a Factory Reset will format it & you'll have your MT6595 in working condition again, in case of a brick. As you notice above, cache.img, secro.img & usedata.img from Zopo SP Flash Tools is only 6.1Mb, 135.2Kb & 21.9Mb respectively.
Thanks to Master Shifu mrjavum for sharing his findings, you can also make backup of the preloader partition too.
Code:
dd if=/dev/block/mmcblk0boot0 of=/sdcard/preloader.bin bs=512c count=512 skip=4
However, you'll need to manually delete the trailing FF & 00 at the end of file of preloader.bin that you backup via dd command. You can use any HexEditor to do that. WARNING : Be careful, the new SP Flash Tool v5 will load this file while older version will pop-up error message when you use incompatible preloader.bin.
View attachment 3093329View attachment 3093330View attachment 3093331View attachment 3093332View attachment 3093333View attachment 3093334View attachment 3093335
Here is the tricky part, you'll need to use either Zopo999 or Lenovo X2 scatter.txt & manually make necessary adjustment to suit to your MT6595. WARNING : Might brick your MT6595 on any mistake made ! Lenovo X2 has the extra preload partition too.
Below is Zopo999 partinfo. Make comparison to your MT6595 & update it accordingly.
Code:
adb shell
[COLOR="blue"]cat /proc/partinfo[/COLOR]
Name Start Size
pgpt 0x0000000000000000 0x00000000000[COLOR="blue"]80000[/COLOR]
proinfo 0x0000000000080000 0x0000000000[COLOR="blue"]300000[/COLOR]
nvram 0x0000000000380000 0x0000000000[COLOR="blue"]500000[/COLOR]
protect1 0x0000000000880000 0x0000000000[COLOR="blue"]a00000[/COLOR]
protect2 0x0000000001280000 0x0000000000[COLOR="blue"]a00000[/COLOR]
seccfg 0x0000000001c80000 0x00000000000[COLOR="blue"]40000[/COLOR]
lk 0x0000000001cc0000 0x00000000000[COLOR="blue"]60000[/COLOR]
boot 0x0000000001d20000 0x000000000[COLOR="blue"]1000000[/COLOR]
recovery 0x0000000002d20000 0x000000000[COLOR="blue"]1000000[/COLOR]
secro 0x0000000003d20000 0x0000000000[COLOR="blue"]600000[/COLOR]
para 0x0000000004320000 0x00000000000[COLOR="blue"]80000[/COLOR]
logo 0x00000000043a0000 0x0000000000[COLOR="Blue"]800000[/COLOR]
expdb 0x0000000004ba0000 0x0000000000[COLOR="blue"]c60000[/COLOR]
preload 0x00000000055a0000 0x00000000[COLOR="blue"]20260000[/COLOR] [COLOR="Red"]<- Only [COLOR="Blue"]Lenovo X2[/COLOR] has this preload partition[/COLOR]
system 0x0000000005800000 0x00000000[COLOR="Blue"]52000000[/COLOR]
cache 0x0000000057800000 0x000000000[COLOR="blue"]7000000[/COLOR]
userdata 0x000000005e800000 0x0000000[COLOR="blue"]344580000[/COLOR]
flashinfo 0x00000003a2d80000 0x000000000[COLOR="blue"]1000000[/COLOR]
sgpt 0x00000003a3d80000 0x00000000000[COLOR="blue"]80000[/COLOR]
Zopo999 MT6595_Android_scatter.txt
Code:
############################################################################################################
#
# General Setting
#
############################################################################################################
- general: MTK_PLATFORM_CFG
info:
- config_version: V1.1.2
platform: MT6595
project: vanzo95_lwt_ds_kk
storage: EMMC
boot_channel: MSDC_0
block_size: 0x20000
############################################################################################################
#
# Layout Setting
#
############################################################################################################
- partition_index: SYS0
partition_name: preloader
file_name: preloader_vanzo95_lwt_ds_kk.bin
is_download: true
type: SV5_BL_BIN
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x[COLOR="blue"]40000[/COLOR]
region: EMMC_BOOT_1
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BOOTLOADERS
reserve: 0x00
- partition_index: SYS1
partition_name: pgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x[COLOR="blue"]80000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS2
partition_name: proinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x80000
physical_start_addr: 0x80000
partition_size: 0x[COLOR="blue"]300000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS3
partition_name: nvram
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x380000
physical_start_addr: 0x380000
partition_size: 0x[COLOR="blue"]500000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BINREGION
reserve: 0x00
- partition_index: SYS4
partition_name: protect1
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x880000
physical_start_addr: 0x880000
partition_size: 0x[COLOR="blue"]a00000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS5
partition_name: protect2
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x1280000
physical_start_addr: 0x1280000
partition_size: 0x[COLOR="blue"]a00000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS6
partition_name: seccfg
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1c80000
physical_start_addr: 0x1c80000
partition_size: 0x[COLOR="blue"]40000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS7
partition_name: lk
file_name: lk.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1cc0000
physical_start_addr: 0x1cc0000
partition_size: 0x[COLOR="blue"]60000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS8
partition_name: boot
file_name: boot.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1d20000
physical_start_addr: 0x1d20000
partition_size: 0x[COLOR="blue"]1000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS9
partition_name: recovery
file_name: recovery.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x2d20000
physical_start_addr: 0x2d20000
partition_size: 0x[COLOR="blue"]1000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS10
partition_name: secro
file_name: secro.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x3d20000
physical_start_addr: 0x3d20000
partition_size: 0x[COLOR="blue"]600000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS11
partition_name: para
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x4320000
physical_start_addr: 0x4320000
partition_size: 0x[COLOR="blue"]80000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS12
partition_name: logo
file_name: logo.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x43a0000
physical_start_addr: 0x43a0000
partition_size: 0x[COLOR="blue"]800000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS13
partition_name: expdb
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x4ba0000
physical_start_addr: 0x4ba0000
partition_size: 0x[COLOR="blue"]c60000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS14
partition_name: system
file_name: system.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x5800000
physical_start_addr: 0x5800000
partition_size: 0x[COLOR="blue"]52000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS15
partition_name: cache
file_name: cache.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x57800000
physical_start_addr: 0x57800000
partition_size: 0x[COLOR="blue"]7000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS16
partition_name: userdata
file_name: userdata.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x5e800000
physical_start_addr: 0x5e800000
partition_size: 0x[COLOR="blue"]49c00000[/COLOR] [COLOR="Blue"]<- i have absolutely no idea how this figure comes about, as i know Zopo999 comes with 16GB or 32GB variant[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS17
partition_name: flashinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0084
physical_start_addr: 0xFFFF0084
partition_size: 0x[COLOR="blue"]1000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
- partition_index: SYS18
partition_name: sgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0004
physical_start_addr: 0xFFFF0004
partition_size: 0x[COLOR="blue"]80000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
Method 2
Using ROM_0 upload from SP Flash Tool
There are already tons of guides doing this so i won't touch on this . . .
What is interesting about this is syserr actually made the discovery & shared his findings since last year ! :good: But i guess nobody discover his thread including myself until i hunt for ways to make backups on the new MT6595 since we have been spoilt by the awesomeness of MTK Droid Tools doing these automatically for us but now it doesn't work on the new MT6595 . . .
As syserr has mentioned on his thread, MTK Droid Tools is actually also using dd command to split the ROM_0 uploaded from SP Flash Tool too.
i have tried it on my old MT6577 & it worked perfectly splitting up all the partitions & generate a perfectly working scatter.txt from dumchar_info too . . . :good: Having said that, however, its not compatible for use with the MT6595 scatter V1.1.2 format.
Complete full output.
Code:
./dice.sh MT6577_Android_scatter_emmc.txt ROM_0 > log.txt
i have modded his script to show as below so we know how it works . . .
Code:
scatter file name = MT6577_Android_scatter_emmc.txt
SP Flash Tool ROM file name = ROM_0
Processing: PRELOADER
start: 0x0
size: 0x40000
(0x0) Size in DEC = [COLOR="Blue"]0[/COLOR]
(0x40) Size in DEC = [COLOR="blue"]64[/COLOR]
dd if=ROM_0 of=raw.partitions/PRELOADER bs=4096 skip=[COLOR="blue"]0[/COLOR] count=[COLOR="blue"]64[/COLOR]
Processing: DSP_BL
start: 0x40000
size: 0x5C0000
(0x40) Size in DEC = 64
(0x5C0) Size in DEC = 1472
dd if=ROM_0 of=raw.partitions/DSP_BL bs=4096 skip=64 count=1472
Processing: MBR
start: 0x600000
size: 0x4000
(0x600) Size in DEC = 1536
(0x4) Size in DEC = 4
dd if=ROM_0 of=raw.partitions/MBR bs=4096 skip=1536 count=4
Processing: EBR1
start: 0x604000
size: 0x4000
(0x604) Size in DEC = 1540
(0x4) Size in DEC = 4
dd if=ROM_0 of=raw.partitions/EBR1 bs=4096 skip=1540 count=4
Processing: PMT
start: 0x608000
size: 0x400000
(0x608) Size in DEC = 1544
(0x400) Size in DEC = 1024
dd if=ROM_0 of=raw.partitions/PMT bs=4096 skip=1544 count=1024
Processing: NVRAM
start: 0xa08000
size: 0x500000
(0xa08) Size in DEC = 2568
(0x500) Size in DEC = 1280
dd if=ROM_0 of=raw.partitions/NVRAM bs=4096 skip=2568 count=1280
Processing: SECCFG
start: 0xf08000
size: 0x20000
(0xf08) Size in DEC = 3848
(0x20) Size in DEC = 32
dd if=ROM_0 of=raw.partitions/SECCFG bs=4096 skip=3848 count=32
Processing: UBOOT
start: 0xf28000
size: 0x60000
(0xf28) Size in DEC = 3880
(0x60) Size in DEC = 96
dd if=ROM_0 of=raw.partitions/UBOOT bs=4096 skip=3880 count=96
Processing: BOOTIMG
start: 0xf88000
size: 0x600000
(0xf88) Size in DEC = [COLOR="blue"]3976[/COLOR]
(0x600) Size in DEC = [COLOR="blue"]1536[/COLOR]
dd if=ROM_0 of=raw.partitions/BOOTIMG bs=4096 skip=[COLOR="blue"]3976[/COLOR] count=[COLOR="blue"]1536[/COLOR]
Processing: RECOVERY
start: 0x1588000
size: 0x800000
(0x1588) Size in DEC = [COLOR="blue"]5512[/COLOR]
(0x800) Size in DEC = [COLOR="blue"]2048[/COLOR]
dd if=ROM_0 of=raw.partitions/RECOVERY bs=4096 skip=[COLOR="blue"]5512[/COLOR] count=[COLOR="blue"]2048[/COLOR]
Processing: SEC_RO
start: 0x1d88000
size: 0x400000
(0x1d88) Size in DEC = 7560
(0x400) Size in DEC = 1024
dd if=ROM_0 of=raw.partitions/SEC_RO bs=4096 skip=7560 count=1024
Processing: MISC
start: 0x2188000
size: 0x60000
(0x2188) Size in DEC = 8584
(0x60) Size in DEC = 96
dd if=ROM_0 of=raw.partitions/MISC bs=4096 skip=8584 count=96
Processing: LOGO
start: 0x21e8000
size: 0x300000
(0x21e8) Size in DEC = 8680
(0x300) Size in DEC = 768
dd if=ROM_0 of=raw.partitions/LOGO bs=4096 skip=8680 count=768
Processing: EXPDB
start: 0x24e8000
size: 0x200000
(0x24e8) Size in DEC = 9448
(0x200) Size in DEC = 512
dd if=ROM_0 of=raw.partitions/EXPDB bs=4096 skip=9448 count=512
Processing: ANDROID
start: 0x26e8000
size: 0x19000000
(0x26e8) Size in DEC = 9960
(0x19000) Size in DEC = 102400
dd if=ROM_0 of=raw.partitions/ANDROID bs=4096 skip=9960 count=102400
Processing: CACHE
start: 0x1b6e8000
size: 0x19000000
(0x1b6e8) Size in DEC = 112360
(0x19000) Size in DEC = 102400
dd if=ROM_0 of=raw.partitions/CACHE bs=4096 skip=112360 count=102400
Processing: USRDATA
start: 0x346e8000
size: 0x34300000
(0x346e8) Size in DEC = 214760
(0x34300) Size in DEC = 213760
dd if=ROM_0 of=raw.partitions/USRDATA bs=4096 skip=214760 count=213760
Processing: FAT
start: 0x689e8000
size: 0x976080A8
(0x689e8) Size in DEC = 428520
(0x976080A8) Size in DEC = 2539684008
dd if=ROM_0 of=raw.partitions/FAT bs=4096 skip=428520 count=2539684008
Based on his script output above, below should work on the new MT6595.
Code:
Name Start Size
boot 0x0000000001d20000 0x000000000[COLOR="blue"]1000000[/COLOR]
Code:
start: 0x1d20000
size: 0x1000000
0x1d20 - Convert to decimal = [COLOR="Blue"]7456[/COLOR]
0x1000 - Convert to decimal = [COLOR="blue"]4096[/COLOR]
dd if=ROM_0 of=boot.img bs=4096 skip=[COLOR="blue"]7456[/COLOR] count=[COLOR="blue"]4096[/COLOR]
You can also use his trim.sh & trimFF.sh to automatically remove all the unused FF & 00 at preloader.bin too . . . :good:
i don't have a MT6595 to confirm all this so owners of the new MT6595 should Trial & Error, more info then study syserr's thread . . . :good:
This is the end Source for developing the recovery for this MTk6595M:
Post341:
http://forum.xda-developers.com/showpost.php?p=57923477&postcount=341
carliv said:
Ok, then cwm test 3 it is!
Here are the final recoveries:
CWM Modd ZP999
Carliv Touch Recovery 3.0 ZP999
TWRP 2.8.3.0 ZP999
PHILZ Recovery ZP999
Thanks for support, enjoy using them!
Now for people who want to use the device folder tree from my github (I will update that in short time).
Take a look on BoardConfig to see what flags must be used, and add a local-manifest in your building repo with this content:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="git://github.com/carliv/" name="carliv"/>
<project path="bionic/libc/arch-arm/cortex-a17" name="bionic_libc_arch-arm_cortex-a17" remote="carliv" revision="master" />
<project path="device/zopo/zp999" name="device_zopo_zp999" remote="carliv" revision="master" />
</manifest>
then do a repo sync. If you have already a local-manifest just add the project path line in it.
Next open cortex-a7.mk file from /bionic/libc/arch-arm/cortex-a7 folder and replace the content with this:
Code:
ifneq ($(TARGET_2ND_CPU_VARIANT := cortex-a17),)
include bionic/libc/arch-arm/cortex-a17/cortex-a17.mk
else
include bionic/libc/arch-arm/cortex-a15/cortex-a15.mk
endif
include bionic/libc/arch-arm/generic/generic.mk
That's it, then you can build. The most important part on BoardConfig is this:
Code:
TARGET_RECOVERY_PIXEL_FORMAT := "RGBA_8888"
BOARD_USE_FRAMEBUFFER_ALPHA_CHANNEL := true
TARGET_DISABLE_TRIPLE_BUFFERING := false
BOARD_CUSTOM_GRAPHICS := ../../../device/zopo/zp999/recovery/graphics.cwm.c
TW_BOARD_CUSTOM_GRAPHICS := ../../../device/zopo/zp999/recovery/graphics.twrp.c (for twrp only)
Without any of these flags, the recovery won't boot. Cheers!
Click to expand...
Click to collapse
Other Important Source for this Mtk6595M By THE The King of the Devs.........."Carliv" and his tricks!!!
Here we can find other details:
https://github.com/carliv/device_zopo_zp999/commit/ee057c5cd1483dc92be57b307ae907fd67022783
:victory:
Recovery Modded V2 and others last Sources mtk6595
carliv said:
Ok, then if it works let's make it really final this time.
Recoveries with fixed internal sdcard (I'm not sure about twrp because that works different):
CWM Modd ZP999 v2
Carliv Touch Recovery 3.0 ZP999 v2
TWRP 2.8.3.0 ZP999 v2
PHILZ Recovery ZP999 v2
Click to expand...
Click to collapse
Others..... last Sources mtk6595 :victory:
Other Source details to build the twrp for mtk6595:
carliv said:
Oh, finally! And for twrp? None of them works?
Now let me tell you why this damn thing phone drove me crazy. This could be usefull for the other guys who try to solve this problem: @mrjavum, @SevenMaxs, @codelover, and other.
I was right about 32 bits framebuffer, but I took as good info that flag from Lenovo source BoardConfig:
Code:
TARGET_RECOVERY_PIXEL_FORMAT := "RGBA_8888"
So I focused my efforts to implement that pixel format RGBA_8888 and 32bits framebuffer. Only that was wrong and all work I did yesterday was in vain. Not entirely my fault, but I should check that earlier.
So what was the problem? Today morning I wake up and I had the ideea to take a look in lenovo x2 kernel gpu driver code, and I found this:
Code:
/* USE_[COLOR="Red"]RGBA_8888[/COLOR]_FB */
{
int res;
struct fb_var_screeninfo info;
info = psLINFBInfo->var;
info.activate = FB_ACTIVATE_NOW;
info.bits_per_pixel = 32;
[COLOR="LightBlue"]info.transp.offset = 24;
info.transp.length = 8;[/COLOR]
[COLOR="Red"]info.red.offset = 0; <- normally this should be 16
info.red.length = 8;[/COLOR]
[COLOR="SeaGreen"]info.green.offset = 8;
info.green.length = 8;[/COLOR]
[COLOR="Blue"]info.blue.offset = 16; <- normally this should be 0
info.blue.length = 8;[/COLOR]
res = fb_set_var(psLINFBInfo, &info);
Can you see what's wrong here? No? Let me show you:
The RGBA8888 format is the second, and first is ARGB8888. So they use the name RGBA_8888 but pixel map defines is for ARGB - also the offsets are changed too (like it would be ABGR), but once you get the real map that can be set easily. So no matter how hard I tried there was no way I could get a good result with that, because I used the values for RGBA_8888:
Code:
[COLOR="Red"]vi.red.offset = 24;[/COLOR]
[COLOR="Red"] vi.red.length = 8;[/COLOR]
[COLOR="Green"]vi.green.offset = 16;
vi.green.length = 8;[/COLOR]
[COLOR="Blue"]vi.blue.offset = 8;
vi.blue.length = 8;[/COLOR]
[COLOR="LightBlue"] vi.transp.offset = 0;
vi.transp.length = 8;[/COLOR]
But why they used ARGB format and named it RGBA? Because Android doesn't have support for ARGB only RGBA:
They share same pixel size(4), same pixel format (4x8), only thing different is chanel colors map, so I was doing wrong trying to use a different color map.
I hope now we will get better results.
For cwm test 16 I used my custom graphics.c file, and about that issue with non-mounting sdcards that can be solved tunning fstabs and init files. I wasn't pay much attention to that since I wanted to get it start first.
After all feedbacks came out, I'll clean up the file, make some few more tests and I will update my device folder on github for all of you that need these things.
Guys I worked for your phone more than for any phone I ever had :victory:
....
Click to expand...
Click to collapse
yuweng said:
Sharing my findings on how to manually make a SP Flash Tool Factory ROM backup on this new MediaTek MT6595 SoC . . .
For vendors that doesn't offer it or for users that couldn't find it for their new unknown brand MT6595 . . .
Based on the discussion here, MTK Droid Tools doesn't work & there are only two known MT6595, the Zopo999 & Lenovo X2 that offers SP Flash Tool format.
Below are ways to manually backup the Factory ROM on MT6595.
Method 1
Using adb shell dd command
It is now even easier to make backup on the new MT6595 b'cos it is using direct device path instead of the old format dumchar_info. Require root access !
Based on ghost45 feedback here, you can directly use dd command to make a backup.
Code:
adb shell
[COLOR="blue"]ls -al /dev/block/platform/mtk-msdc.0/by-name[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]boot[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p7[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]cache[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p14[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 expdb -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2014-12-16 18:25 flashinfo -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]lk[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p6[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]logo[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p11[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 nvram -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-12-16 18:25 para -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2014-12-16 18:25 proinfo -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2014-12-16 18:25 protect1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2014-12-16 18:25 protect2 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]recovery[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p8[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 seccfg -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]secro[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p9[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]system[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p13[/COLOR]
lrwxrwxrwx root root 2014-12-16 18:25 [COLOR="blue"]userdata[/COLOR] -> [COLOR="blue"]/dev/block/mmcblk0p15[/COLOR]
Based on Factory ROM from Zopo, you'll only need to make backup of 8 partition as highlighted above.
Code:
adb shell su -c "dd if=[COLOR="Blue"]/dev/block/mmcblk0p7[/COLOR] of=/sdcard/boot.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p14[/COLOR] of=/sdcard/cache.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p6[/COLOR] of=/sdcard/lk.bin"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p11[/COLOR] of=/sdcard/logo.bin"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p8 [/COLOR]of=/sdcard/recovery.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p9[/COLOR] of=/sdcard/secro.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p13[/COLOR] of=/sdcard/system.img"
adb shell su -c "dd if=[COLOR="blue"]/dev/block/mmcblk0p15[/COLOR] of=/sdcard/userdata.img"
Updates
Found out you can also use below command to backup too.
Code:
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="Blue"]boot[/COLOR] of=/sdcard/boot.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]cache[/COLOR] of=/sdcard/cache.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]lk[/COLOR] of=/sdcard/lk.bin"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]logo[/COLOR] of=/sdcard/logo.bin"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]recovery[/COLOR] of=/sdcard/recovery.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]secro[/COLOR] of=/sdcard/secro.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]system[/COLOR] of=/sdcard/system.img"
adb shell su -c "dd if=/dev/block/platform/mtk-msdc.0/by-name/[COLOR="blue"]userdata[/COLOR] of=/sdcard/userdata.img"
View attachment 3093328
You don't actually need userdata as a Factory Reset will format it & you'll have your MT6595 in working condition again, in case of a brick. As you notice above, cache.img, secro.img & usedata.img from Zopo SP Flash Tools is only 6.1Mb, 135.2Kb & 21.9Mb respectively.
Thanks to Master Shifu mrjavum for sharing his findings, you can also make backup of the preloader partition too.
Code:
dd if=/dev/block/mmcblk0boot0 of=/sdcard/preloader.bin bs=512c count=512 skip=4
However, you'll need to manually delete the trailing FF & 00 at the end of file of preloader.bin that you backup via dd command. You can use any HexEditor to do that. WARNING : Be careful, the new SP Flash Tool v5 will load this file while older version will pop-up error message when you use incompatible preloader.bin.
View attachment 3093329View attachment 3093330View attachment 3093331View attachment 3093332View attachment 3093333View attachment 3093334View attachment 3093335
Here is the tricky part, you'll need to use either Zopo999 or Lenovo X2 scatter.txt & manually make necessary adjustment to suit to your MT6595. WARNING : Might brick your MT6595 on any mistake made ! Lenovo X2 has the extra preload partition too.
Below is Zopo999 partinfo. Make comparison to your MT6595 & update it accordingly.
Code:
adb shell
[COLOR="blue"]cat /proc/partinfo[/COLOR]
Name Start Size
pgpt 0x0000000000000000 0x00000000000[COLOR="blue"]80000[/COLOR]
proinfo 0x0000000000080000 0x0000000000[COLOR="blue"]300000[/COLOR]
nvram 0x0000000000380000 0x0000000000[COLOR="blue"]500000[/COLOR]
protect1 0x0000000000880000 0x0000000000[COLOR="blue"]a00000[/COLOR]
protect2 0x0000000001280000 0x0000000000[COLOR="blue"]a00000[/COLOR]
seccfg 0x0000000001c80000 0x00000000000[COLOR="blue"]40000[/COLOR]
lk 0x0000000001cc0000 0x00000000000[COLOR="blue"]60000[/COLOR]
boot 0x0000000001d20000 0x000000000[COLOR="blue"]1000000[/COLOR]
recovery 0x0000000002d20000 0x000000000[COLOR="blue"]1000000[/COLOR]
secro 0x0000000003d20000 0x0000000000[COLOR="blue"]600000[/COLOR]
para 0x0000000004320000 0x00000000000[COLOR="blue"]80000[/COLOR]
logo 0x00000000043a0000 0x0000000000[COLOR="Blue"]800000[/COLOR]
expdb 0x0000000004ba0000 0x0000000000[COLOR="blue"]c60000[/COLOR]
preload 0x00000000055a0000 0x00000000[COLOR="blue"]20260000[/COLOR] [COLOR="Red"]<- Only [COLOR="Blue"]Lenovo X2[/COLOR] has this preload partition[/COLOR]
system 0x0000000005800000 0x00000000[COLOR="Blue"]52000000[/COLOR]
cache 0x0000000057800000 0x000000000[COLOR="blue"]7000000[/COLOR]
userdata 0x000000005e800000 0x0000000[COLOR="blue"]344580000[/COLOR]
flashinfo 0x00000003a2d80000 0x000000000[COLOR="blue"]1000000[/COLOR]
sgpt 0x00000003a3d80000 0x00000000000[COLOR="blue"]80000[/COLOR]
Zopo999 MT6595_Android_scatter.txt
Code:
############################################################################################################
#
# General Setting
#
############################################################################################################
- general: MTK_PLATFORM_CFG
info:
- config_version: V1.1.2
platform: MT6595
project: vanzo95_lwt_ds_kk
storage: EMMC
boot_channel: MSDC_0
block_size: 0x20000
############################################################################################################
#
# Layout Setting
#
############################################################################################################
- partition_index: SYS0
partition_name: preloader
file_name: preloader_vanzo95_lwt_ds_kk.bin
is_download: true
type: SV5_BL_BIN
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x[COLOR="blue"]40000[/COLOR]
region: EMMC_BOOT_1
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BOOTLOADERS
reserve: 0x00
- partition_index: SYS1
partition_name: pgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x0
physical_start_addr: 0x0
partition_size: 0x[COLOR="blue"]80000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS2
partition_name: proinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x80000
physical_start_addr: 0x80000
partition_size: 0x[COLOR="blue"]300000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS3
partition_name: nvram
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x380000
physical_start_addr: 0x380000
partition_size: 0x[COLOR="blue"]500000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: BINREGION
reserve: 0x00
- partition_index: SYS4
partition_name: protect1
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x880000
physical_start_addr: 0x880000
partition_size: 0x[COLOR="blue"]a00000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS5
partition_name: protect2
file_name: NONE
is_download: false
type: EXT4_IMG
linear_start_addr: 0x1280000
physical_start_addr: 0x1280000
partition_size: 0x[COLOR="blue"]a00000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: PROTECTED
reserve: 0x00
- partition_index: SYS6
partition_name: seccfg
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x1c80000
physical_start_addr: 0x1c80000
partition_size: 0x[COLOR="blue"]40000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS7
partition_name: lk
file_name: lk.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1cc0000
physical_start_addr: 0x1cc0000
partition_size: 0x[COLOR="blue"]60000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS8
partition_name: boot
file_name: boot.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x1d20000
physical_start_addr: 0x1d20000
partition_size: 0x[COLOR="blue"]1000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS9
partition_name: recovery
file_name: recovery.img
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x2d20000
physical_start_addr: 0x2d20000
partition_size: 0x[COLOR="blue"]1000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS10
partition_name: secro
file_name: secro.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x3d20000
physical_start_addr: 0x3d20000
partition_size: 0x[COLOR="blue"]600000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS11
partition_name: para
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x4320000
physical_start_addr: 0x4320000
partition_size: 0x[COLOR="blue"]80000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS12
partition_name: logo
file_name: logo.bin
is_download: true
type: NORMAL_ROM
linear_start_addr: 0x43a0000
physical_start_addr: 0x43a0000
partition_size: 0x[COLOR="blue"]800000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS13
partition_name: expdb
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0x4ba0000
physical_start_addr: 0x4ba0000
partition_size: 0x[COLOR="blue"]c60000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: INVISIBLE
reserve: 0x00
- partition_index: SYS14
partition_name: system
file_name: system.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x5800000
physical_start_addr: 0x5800000
partition_size: 0x[COLOR="blue"]52000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS15
partition_name: cache
file_name: cache.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x57800000
physical_start_addr: 0x57800000
partition_size: 0x[COLOR="blue"]7000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS16
partition_name: userdata
file_name: userdata.img
is_download: true
type: EXT4_IMG
linear_start_addr: 0x5e800000
physical_start_addr: 0x5e800000
partition_size: 0x[COLOR="blue"]49c00000[/COLOR] [COLOR="Blue"]<- i have absolutely no idea how this figure comes about, as i know Zopo999 comes with 16GB or 32GB variant[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: true
is_reserved: false
operation_type: UPDATE
reserve: 0x00
- partition_index: SYS17
partition_name: flashinfo
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0084
physical_start_addr: 0xFFFF0084
partition_size: 0x[COLOR="blue"]1000000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
- partition_index: SYS18
partition_name: sgpt
file_name: NONE
is_download: false
type: NORMAL_ROM
linear_start_addr: 0xFFFF0004
physical_start_addr: 0xFFFF0004
partition_size: 0x[COLOR="blue"]80000[/COLOR]
region: EMMC_USER
storage: HW_STORAGE_EMMC
boundary_check: false
is_reserved: true
operation_type: RESERVED
reserve: 0x00
Method 2
Using ROM_0 upload from SP Flash Tool
There are already tons of guides doing this so i won't touch on this . . .
What is interesting about this is syserr actually made the discovery & shared his findings since last year ! :good: But i guess nobody discover his thread including myself until i hunt for ways to make backups on the new MT6595 since we have been spoilt by the awesomeness of MTK Droid Tools doing these automatically for us but now it doesn't work on the new MT6595 . . .
As syserr has mentioned on his thread, MTK Droid Tools is actually also using dd command to split the ROM_0 uploaded from SP Flash Tool too.
i have tried it on my old MT6577 & it worked perfectly splitting up all the partitions & generate a perfectly working scatter.txt from dumchar_info too . . . :good: Having said that, however, its not compatible for use with the MT6595 scatter V1.1.2 format.
Complete full output.
Code:
./dice.sh MT6577_Android_scatter_emmc.txt ROM_0 > log.txt
i have modded his script to show as below so we know how it works . . .
Code:
scatter file name = MT6577_Android_scatter_emmc.txt
SP Flash Tool ROM file name = ROM_0
Processing: PRELOADER
start: 0x0
size: 0x40000
(0x0) Size in DEC = [COLOR="Blue"]0[/COLOR]
(0x40) Size in DEC = [COLOR="blue"]64[/COLOR]
dd if=ROM_0 of=raw.partitions/PRELOADER bs=4096 skip=[COLOR="blue"]0[/COLOR] count=[COLOR="blue"]64[/COLOR]
Processing: DSP_BL
start: 0x40000
size: 0x5C0000
(0x40) Size in DEC = 64
(0x5C0) Size in DEC = 1472
dd if=ROM_0 of=raw.partitions/DSP_BL bs=4096 skip=64 count=1472
Processing: MBR
start: 0x600000
size: 0x4000
(0x600) Size in DEC = 1536
(0x4) Size in DEC = 4
dd if=ROM_0 of=raw.partitions/MBR bs=4096 skip=1536 count=4
Processing: EBR1
start: 0x604000
size: 0x4000
(0x604) Size in DEC = 1540
(0x4) Size in DEC = 4
dd if=ROM_0 of=raw.partitions/EBR1 bs=4096 skip=1540 count=4
Processing: PMT
start: 0x608000
size: 0x400000
(0x608) Size in DEC = 1544
(0x400) Size in DEC = 1024
dd if=ROM_0 of=raw.partitions/PMT bs=4096 skip=1544 count=1024
Processing: NVRAM
start: 0xa08000
size: 0x500000
(0xa08) Size in DEC = 2568
(0x500) Size in DEC = 1280
dd if=ROM_0 of=raw.partitions/NVRAM bs=4096 skip=2568 count=1280
Processing: SECCFG
start: 0xf08000
size: 0x20000
(0xf08) Size in DEC = 3848
(0x20) Size in DEC = 32
dd if=ROM_0 of=raw.partitions/SECCFG bs=4096 skip=3848 count=32
Processing: UBOOT
start: 0xf28000
size: 0x60000
(0xf28) Size in DEC = 3880
(0x60) Size in DEC = 96
dd if=ROM_0 of=raw.partitions/UBOOT bs=4096 skip=3880 count=96
Processing: BOOTIMG
start: 0xf88000
size: 0x600000
(0xf88) Size in DEC = [COLOR="blue"]3976[/COLOR]
(0x600) Size in DEC = [COLOR="blue"]1536[/COLOR]
dd if=ROM_0 of=raw.partitions/BOOTIMG bs=4096 skip=[COLOR="blue"]3976[/COLOR] count=[COLOR="blue"]1536[/COLOR]
Processing: RECOVERY
start: 0x1588000
size: 0x800000
(0x1588) Size in DEC = [COLOR="blue"]5512[/COLOR]
(0x800) Size in DEC = [COLOR="blue"]2048[/COLOR]
dd if=ROM_0 of=raw.partitions/RECOVERY bs=4096 skip=[COLOR="blue"]5512[/COLOR] count=[COLOR="blue"]2048[/COLOR]
Processing: SEC_RO
start: 0x1d88000
size: 0x400000
(0x1d88) Size in DEC = 7560
(0x400) Size in DEC = 1024
dd if=ROM_0 of=raw.partitions/SEC_RO bs=4096 skip=7560 count=1024
Processing: MISC
start: 0x2188000
size: 0x60000
(0x2188) Size in DEC = 8584
(0x60) Size in DEC = 96
dd if=ROM_0 of=raw.partitions/MISC bs=4096 skip=8584 count=96
Processing: LOGO
start: 0x21e8000
size: 0x300000
(0x21e8) Size in DEC = 8680
(0x300) Size in DEC = 768
dd if=ROM_0 of=raw.partitions/LOGO bs=4096 skip=8680 count=768
Processing: EXPDB
start: 0x24e8000
size: 0x200000
(0x24e8) Size in DEC = 9448
(0x200) Size in DEC = 512
dd if=ROM_0 of=raw.partitions/EXPDB bs=4096 skip=9448 count=512
Processing: ANDROID
start: 0x26e8000
size: 0x19000000
(0x26e8) Size in DEC = 9960
(0x19000) Size in DEC = 102400
dd if=ROM_0 of=raw.partitions/ANDROID bs=4096 skip=9960 count=102400
Processing: CACHE
start: 0x1b6e8000
size: 0x19000000
(0x1b6e8) Size in DEC = 112360
(0x19000) Size in DEC = 102400
dd if=ROM_0 of=raw.partitions/CACHE bs=4096 skip=112360 count=102400
Processing: USRDATA
start: 0x346e8000
size: 0x34300000
(0x346e8) Size in DEC = 214760
(0x34300) Size in DEC = 213760
dd if=ROM_0 of=raw.partitions/USRDATA bs=4096 skip=214760 count=213760
Processing: FAT
start: 0x689e8000
size: 0x976080A8
(0x689e8) Size in DEC = 428520
(0x976080A8) Size in DEC = 2539684008
dd if=ROM_0 of=raw.partitions/FAT bs=4096 skip=428520 count=2539684008
Based on his script output above, below should work on the new MT6595.
Code:
Name Start Size
boot 0x0000000001d20000 0x000000000[COLOR="blue"]1000000[/COLOR]
Code:
start: 0x1d20000
size: 0x1000000
0x1d20 - Convert to decimal = [COLOR="Blue"]7456[/COLOR]
0x1000 - Convert to decimal = [COLOR="blue"]4096[/COLOR]
dd if=ROM_0 of=boot.img bs=4096 skip=[COLOR="blue"]7456[/COLOR] count=[COLOR="blue"]4096[/COLOR]
You can also use his trim.sh & trimFF.sh to automatically remove all the unused FF & 00 at preloader.bin too . . . :good:
i don't have a MT6595 to confirm all this so owners of the new MT6595 should Trial & Error, more info then study syserr's thread . . . :good:
Click to expand...
Click to collapse
This command I did backup -> adb shell su -c "dd if = / dev / block / platform / mtk-msdc.0 / by-name / boot of = / sdcard / boot.img"
for restore these backup -> adb shell su -c "dd if = / sdcard / boot.img / boot of = / dev / block / platform / mtk-msdc.0 / by-name"
I am right;
it is actually the exact reverse of that command for back up . . .
Code:
adb push boot.img sdcard/
adb shell su -c "dd if=/sdcard/boot.img of=/dev/block/platform/mtk-msdc.0/by-name/boot"
However, you can't do it on a fully booted up Android OS, can only be done while at custom recovery . . .
yuweng said:
it is actually the exact reverse of that command for back up . . .
Code:
adb push boot.img sdcard/
adb shell su -c "dd if=/sdcard/boot.img of=/dev/block/platform/mtk-msdc.0/by-name/boot"
However, you can't do it on a fully booted up Android OS, can only be done while at custom recovery . . .
Click to expand...
Click to collapse
I want to restore the recovery if needed
Thanks

[HOW TO][deodex]Add Autostart_menu for All5.0.xROM By Skies

Now, let me tell you how to add this feature in the settings ......
Preparations:
apktool
nopad++
1, download attachments in this layout:
http://pan.baidu.com/s/1qWMAtwo
2, decompile your Settings.apk
3. Open the Settings / res / xml / dashboard_categories.xml
Search for:
<dashboard-category android:id="@id/system_section" android:title="@string/header_category_system">
Add the following sentenceNote! Please aligned below)
<dashboard-tile android:icon="@drawable/ic_settings_autostarts" android:id="@id/autostarts_settings" android:title="@string/autostarts_title" android:fragment="com.android.settings.autostarts.LewaManageAutostarts" />
Save dashboard_categories.xml
5. Now add the language. Open the Settings / res / values ​​/ strings.xml, in the end, add the following:
<string name="autostarts_title">Autostarts</string>
<string name="autostarts_allowed">Has allowed</string>
<string name="autostarts_prohibited">Has Prohibited</string>
<string name="autostarts_allow_progress_msg">Being restored boot, please wait...</string>
<string name="autostarts_prohibit_progress_msg">Prohibit boot, please wait...</string>
<string name="autostarts_empty_msg">No installation boot applications</string>
<string name="autostarts_optimize_empty_msg">No optimize the startup items</string>
<string name="autostarts_optimize_btn_title">Optimize the startup items</string>
<string name="autostarts_all_btn_title">All autostarts items</string>
Save strings.xml
6. Open the Settings / res / values ​​/ ids.xml, in the end, add the following:
<item type="id" name="autostarts_settings">false</item>
<item type="id" name="appName">false</item>
Save ids.xml
7. Now, the annex res / drawable-xxhdpi / ic_settings_autostarts.png into Settings / res / drawable-xxhdpi /
The annex res / layout / manage_autostarts.xml and manage_autostarts_item.xml into Settings / res / layout /
The annex smali / com / android / settings / autostarts into Settings / smali / com / android / settings /
8. Back to compile current Settings
9. Then directly decompile Settings / dist / Settings.apk (doing so in order to obtain the following need to use the id)
10. Open the Settings again after decompilation / res / values ​​/ public.xml, then open the Settings / smali / com / android / settings / autostarts / LewaManageAutostarts.smali and LewaManageAutostarts $ AppAdapter.smali
11. In public.xml (ctrl + f) Find the following entry id, replace the LewaManageAutostarts.smal
Find manage_autostarts
Replace the LewaManageAutostarts.smali 599 line
Find autostarts_allowed
Replace the LewaManageAutostarts.smali 297 line
Find autostarts_prohibited
Replace the LewaManageAutostarts.smali 393 line
Find autostarts_allow_progress_msg
To replace the first 796 rows LewaManageAutostarts.smali
Find autostarts_prohibit_progress_msg
Replace the LewaManageAutostarts.smali 182 line
Find autostarts_empty_msg
Replace the LewaManageAutostarts.smali 655 and 738 lines
Find autostarts_optimize_empty_msg
Replace the LewaManageAutostarts.smali 765 line
Find autostarts_optimize_btn_title
Replace the LewaManageAutostarts.smali 582 and 731 lines
Find autostarts_all_btn_title
Replace the LewaManageAutostarts.smali 758 and 554 lines
12. Continue to look for the following entries in public.xml (ctrl + f) id, replace the LewaManageAutostarts $ AppAdapter.smali
Find <public type = "layout" name = "manage_autostarts_item"
Replace the LewaManageAutostarts $ AppAdapter.smali line 155
Find <public type = "id" name = "icon"
Replace the LewaManageAutostarts $ AppAdapter.smali line 165
Find <public type = "id" name = "appName"
Replace the LewaManageAutostarts $ AppAdapter.smali line 186
Find <public type = "id" name = "status"
Replace the LewaManageAutostarts $ AppAdapter.smali line 208
Find <public type = "id" name = "app_on_sdcard"
Replace the LewaManageAutostarts $ AppAdapter.smali 227th row
Well, now, back to the compilation
File Source:
http://forum.xda-developers.com/google-nexus-5/themes-apps/mod-autostartmenu-5-0-1-t2989867
Thanks: @garynych
Skies/SANKE said:
Now, let me tell you how to add this feature in the settings ......
Preparations:
apktool
nopad++
1, download attachments in this layout:
http://pan.baidu.com/s/1qWMAtwo
2, decompile your Settings.apk
3. Open the Settings / res / xml / dashboard_categories.xml
Search for:
<dashboard-category android:id="@id/system_section" android:title="@string/header_category_system">
Add the following sentenceNote! Please aligned below)
<dashboard-tile android:icon="@drawable/ic_settings_autostarts" android:id="@id/autostarts_settings" android:title="@string/autostarts_title" android:fragment="com.android.settings.autostarts.LewaManageAutostarts" />
Save dashboard_categories.xml
5. Now add the language. Open the Settings / res / values ​​/ strings.xml, in the end, add the following:
<string name="autostarts_title">Autostarts</string>
<string name="autostarts_allowed">Has allowed</string>
<string name="autostarts_prohibited">Has Prohibited</string>
<string name="autostarts_allow_progress_msg">Being restored boot, please wait...</string>
<string name="autostarts_prohibit_progress_msg">Prohibit boot, please wait...</string>
<string name="autostarts_empty_msg">No installation boot applications</string>
<string name="autostarts_optimize_empty_msg">No optimize the startup items</string>
<string name="autostarts_optimize_btn_title">Optimize the startup items</string>
<string name="autostarts_all_btn_title">All autostarts items</string>
Save strings.xml
6. Open the Settings / res / values ​​/ ids.xml, in the end, add the following:
<item type="id" name="autostarts_settings">false</item>
<item type="id" name="appName">false</item>
Save ids.xml
7. Now, the annex res / drawable-xxhdpi / ic_settings_autostarts.png into Settings / res / drawable-xxhdpi /
The annex res / layout / manage_autostarts.xml and manage_autostarts_item.xml into Settings / res / layout /
The annex smali / com / android / settings / autostarts into Settings / smali / com / android / settings /
8. Back to compile current Settings
9. Then directly decompile Settings / dist / Settings.apk (doing so in order to obtain the following need to use the id)
10. Open the Settings again after decompilation / res / values ​​/ public.xml, then open the Settings / smali / com / android / settings / autostarts / LewaManageAutostarts.smali and LewaManageAutostarts $ AppAdapter.smali
11. In public.xml (ctrl + f) Find the following entry id, replace the LewaManageAutostarts.smal
Find manage_autostarts
Replace the LewaManageAutostarts.smali 599 line
Find autostarts_allowed
Replace the LewaManageAutostarts.smali 297 line
Find autostarts_prohibited
Replace the LewaManageAutostarts.smali 393 line
Find autostarts_allow_progress_msg
To replace the first 796 rows LewaManageAutostarts.smali
Find autostarts_prohibit_progress_msg
Replace the LewaManageAutostarts.smali 182 line
Find autostarts_empty_msg
Replace the LewaManageAutostarts.smali 655 and 738 lines
Find autostarts_optimize_empty_msg
Replace the LewaManageAutostarts.smali 765 line
Find autostarts_optimize_btn_title
Replace the LewaManageAutostarts.smali 582 and 731 lines
Find autostarts_all_btn_title
Replace the LewaManageAutostarts.smali 758 and 554 lines
12. Continue to look for the following entries in public.xml (ctrl + f) id, replace the LewaManageAutostarts $ AppAdapter.smali
Find <public type = "layout" name = "manage_autostarts_item"
Replace the LewaManageAutostarts $ AppAdapter.smali line 155
Find <public type = "id" name = "icon"
Replace the LewaManageAutostarts $ AppAdapter.smali line 165
Find <public type = "id" name = "appName"
Replace the LewaManageAutostarts $ AppAdapter.smali line 186
Find <public type = "id" name = "status"
Replace the LewaManageAutostarts $ AppAdapter.smali line 208
Find <public type = "id" name = "app_on_sdcard"
Replace the LewaManageAutostarts $ AppAdapter.smali 227th row
Well, now, back to the compilation
File Source:
http://forum.xda-developers.com/google-nexus-5/themes-apps/mod-autostartmenu-5-0-1-t2989867
Thanks: @garynych
Click to expand...
Click to collapse
good job!

[TEST][ROM] Nokia Lumia 820 (RM-825)

Phone Name : Nokia Lumia 820
Product Type : RM-825
Variant ID : 7168058061
Varian Name : RM-825 eu euro1 4digit varid test Default
Product Code : 059P9M7
Software Version : 1232.5957.1308.0001
File Name : RM825 059P9M7 1232.5957.1308.0001 003.vpl
File Size : 3.52 Kb
http://nds2.fds-fire.nokia.com/p/d/...A56_RM825_059P9M7_1232.5957.1308.0001_003.vpl
File Name : RM825 1232.5957.1308.0001 PROD eu euro1 472 01 151124.ffu
File Size : 1.24 Gb
http://nds2.fds-fire.nokia.com/p/d/...957.1308.0001_PROD_eu_euro1_472_01_151124.ffu
File Name : CustomerNvi 24ea36c75c7d0483b5c3286d5c37a234 1232.5957.1308.0 151124 7835.nvi
File Size : 46.3 Kb
http://nds2.fds-fire.nokia.com/p/d/...286d5c37a234_1232.5957.1308.0_151124_7835.nvi
File Name : RM825 059P9M7 ccc v003.bin
File Size : 352 Bytes
http://nds2.fds-fire.nokia.com/p/d/fds_fire/1303/0515/7168057621/66776C94_RM825_059P9M7_ccc_v003.bin
File Name : RM825 059P9M7 hwt v003.bin
File Size : 212 Bytes
http://nds2.fds-fire.nokia.com/p/d/fds_fire/1303/0515/7168059483/63E6E8B2_RM825_059P9M7_hwt_v003.bin
File Name : NWP8 NWP Vodafone ES wp8 simlock crcB006.bin
File Size : 76 Bytes
http://nds2.fds-fire.nokia.com/p/d/..._NWP8_NWP_Vodafone_ES_wp8_simlock_crcB006.bin
File Name : 11304103.pcx
File Size : 10 Kb
http://nds2.fds-fire.nokia.com/p/d/fds_fire/1212/1815/7136883677/DFE3ABC0_11304103.pcx
File Name : RM-867 typeLabel 004.xml
File Size : 1.63 Kb
http://nds2.fds-fire.nokia.com/p/d/fds_fire/1212/1815/7136881845/2A6F9FA4_RM-867_typeLabel_004.xml
File Name : RM825 059P9M7 1232.5957.1308.0001 003.dcp
File Size : 806 Bytes
http://nds2.fds-fire.nokia.com/p/d/...01D_RM825_059P9M7_1232.5957.1308.0001_003.dcp
File Name : RM825 059P9M7 1232.5957.1308.0001 003 signature.bin
File Size : 459 Bytes
http://nds2.fds-fire.nokia.com/p/d/...059P9M7_1232.5957.1308.0001_003_signature.bin
File Name : DC template development v4.bin
File Size : 1.03 Kb
http://nds2.fds-fire.nokia.com/p/d/fds_fire/DC_template_development_v4.bin
Something new?

Categories

Resources