Jump to content

Building CM7 for the ZTE Tureis


Guest hecatae

Recommended Posts

Guest hecatae

Make sure you have:

    Ubuntu 12.04 (Precise Pangolin) 64-bit
    Your computer has at least 4GB RAM
    Good Internet connection

install dependencies:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev \
ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 \
lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 \
tofrodos python-markdown libxml2-utils xsltproc readline-common \
libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev \
lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 \
libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev \
libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.6-dev
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so[/code] Configure USB:
[code]$ gksudo gedit /etc/udev/rules.d/51-android.rules
add this to the above:
#Garmin-Asus SUBSYSTEM==usb", ATTR{idVendor}==091E", MODE=0666" #Google SUBSYSTEM==usb", ATTR{idVendor}==18d1", MODE=0666" #HTC SUBSYSTEM==usb", ATTR{idVendor}==0bb4", MODE=0666" #Huawei SUBSYSTEM==usb", ATTR{idVendor}==12d1", MODE=0666" #K-Touch SUBSYSTEM==usb", ATTR{idVendor}==24e3", MODE=0666" #KT Tech SUBSYSTEM==usb", ATTR{idVendor}==2116", MODE=0666" #Kyocera SUBSYSTEM==usb", ATTR{idVendor}==0482", MODE=0666" #Lenovo SUBSYSTEM==usb", ATTR{idVendor}==17EF", MODE=0666" #LG SUBSYSTEM==usb", ATTR{idVendor}==1004", MODE=0666" #Motorola SUBSYSTEM==usb", ATTR{idVendor}==22b8", MODE=0666" #NEC SUBSYSTEM==usb", ATTR{idVendor}==0409", MODE=0666" #Nook SUBSYSTEM==usb", ATTR{idVendor}==2080", MODE=0666" #Nvidia SUBSYSTEM==usb", ATTR{idVendor}==0955", MODE=0666" #OTGV SUBSYSTEM==usb", ATTR{idVendor}==2257", MODE=0666" #Pantech SUBSYSTEM==usb", ATTR{idVendor}==10A9", MODE=0666" #Philips SUBSYSTEM==usb", ATTR{idVendor}==0471", MODE=0666" #PMC-Sierra SUBSYSTEM==usb", ATTR{idVendor}==04da", MODE=0666" #Qualcomm SUBSYSTEM==usb", ATTR{idVendor}==05c6", MODE=0666" #SK Telesys SUBSYSTEM==usb", ATTR{idVendor}==1f53", MODE=0666" #Samsung SUBSYSTEM==usb", ATTR{idVendor}==04e8", MODE=0666" #Sharp SUBSYSTEM==usb", ATTR{idVendor}==04dd", MODE=0666" #Sony Ericsson SUBSYSTEM==usb", ATTR{idVendor}==0fce", MODE=0666" #Toshiba SUBSYSTEM==usb", ATTR{idVendor}==0930", MODE=0666" #ZTE SUBSYSTEM==usb", ATTR{idVendor}==19D2", MODE=0666"
Set proper permissions:
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
JAVA JDK Installation: http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
$ sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
install Java JDK:
$ sudo mkdir -p /opt/java/64/
$ sudo cp jdk-6u34-linux-x64.bin /opt/java/64
$ sudo su -
$ cd /opt/java/64
$ chmod +x jdk-6u34-linux-x64.bin
$ ./jdk-6u34-linux-x64.bin
$ exit[/code] Add JDK PATH to .bashrc:
[code]$ gksudo gedit ~/.bashrc
Add these lines:
# Java PATHs
export JAVA_HOME=/opt/java/64/jdk1.6.0_34
export PATH=$PATH:$JAVA_HOME/bin[/code] Android SDK: Download the SDK here: http://developer.android.com/sdk/index.html Extract the SDK and place it in your home directory. Add AndroidSDK PATH to .bashrc:
[code]$ gksudo gedit .bashrc
Add the following lines:
# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin[/code] Add PATH to .profile:
[code]$ gksudo gedit .profile
Add these lines:
PATH=$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
To use the ADB Update software (or to verify a working adb path), use the following command:
$ android
Install the Repo:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo ] ~/bin/repo
$ chmod a+x ~/bin/repo[/code] Initialize the CyanogenMOD 7 Repo:
[code]$ mkdir android
$ cd android
$ mkdir system
$ cd system
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
Finally:
$ repo sync -j16

borrowed and adapted from Compile ParanoidAndroid

Link to comment
Share on other sites

Guest schmatzler

Have you changed the kernel to 3g vm split?

No I haven't. I just used the original kernel source, patched some governors in and added the zImage to my device config.

The zImage is working, when I create a boot.img with repack_bootimg.pl, the stock Android is working with that.

However, the boot.img created by CM7 does not boot the stock Gingerbread nor CM7 - I think something is still wrong with creating the files.

I don't even know why I should need the 3G slit - the Tureis just has 512MB of storage as far as I know.

Link to comment
Share on other sites

Guest hecatae

No I haven't. I just used the original kernel source, patched some governors in and added the zImage to my device config.

The zImage is working, when I create a boot.img with repack_bootimg.pl, the stock Android is working with that.

However, the boot.img created by CM7 does not boot the stock Gingerbread nor CM7 - I think something is still wrong with creating the files.

I don't even know why I should need the 3G slit - the Tureis just has 512MB of storage as far as I know.

cyanogenmod uses 3g vmsplit as default, if you are using zte stock 2g vmsplit then you will bootloop

Link to comment
Share on other sites

Guest schmatzler

When I recompile the kernel CM7 boots! :)

At least I see the Android bootscreen.

I will investigate further this evening - still a long way to go to get everything running.

Link to comment
Share on other sites

Guest hecatae

When I recompile the kernel CM7 boots! :)

At least I see the Android bootscreen.

I will investigate further this evening - still a long way to go to get everything running.

post it up if you want to adb logcat for you, or private message me test releases if you want

Link to comment
Share on other sites

Guest schmatzler

Got to the homescreen now after a complete recompile.

Problem is: The symbols are waaaay to big.

post-348631-0-14291900-1361916561_thumb.

And WiFi is not working. Haven't integrated Bluetooth yet, so that too. And the camera. And 2G/3G

But hey - audio works, touch works. That's a start.

I will release something when I need big help or when it's useable. Stay tuned. :)

Edited by schmatzler
Link to comment
Share on other sites

Guest schmatzler

No I'm not dead. Still working on this but I have a full-time job that consumes a lot of time.

I already got Wi-Fi working now and fixed the issue with the oversized icons. At the moment I'm working on getting the libril related stuff running (2G/3G). But when I compile in the libril something happens with the screen, it's only showing a blank picture. The device still responds to touch and with audio effects, but I can't see anything.

I don't know why this could possibly happen but as soon as I got that running, I will post something.

Edited by schmatzler
Link to comment
Share on other sites

Guest schmatzler

Got it! The RIL stuff is working now so I finally get some network into this thing.

I also got adb and USB support fully running so debugging is easier now.

But somehow all of the changes I made broke Wifi and BT again so I still have to work on that. And the proximity sensor.

3D acceleration and audio are working too.

Give me some more time and I will release it.

In the meantime - enjoy the pictures :)

post-348631-0-59964400-1363406046_thumb.post-348631-0-99231600-1363406053_thumb.post-348631-0-27127700-1363406060_thumb.post-348631-0-68029600-1363406069_thumb.post-348631-0-04369300-1363406075_thumb.

Link to comment
Share on other sites

Guest mikeioannina

Nice work, if you need anything, I'm willing to help. I build cm7 for 3 other zte devices. Which kernel sources are you using?

Edited by mikeioannina
Link to comment
Share on other sites

Guest schmatzler

Thanks. I use the original kernel source with some little changes. The code is here: https://github.com/schmatzler/zte-tureis-optimized

At the moment I'm facing some problems with the Wi-Fi. I specified bcm4319 as the driver in BoardConfig.mk and built wpa_supplicant 5.

It works, activates the Wi-Fi but only finds 2 networks. Looks like it gets some networks and as soon as it reaches a network with a hidden SSID it stops scanning.

When I build wpa_supplicant 6, I get the following errors in terminal:

E/WifiHW  (  260): Unable to open connection to supplicant on "/data/system/wpa_supplicant/wlan0": No such file or directory[/CODE]

I will try to make some changes to init.rc to get supplicant 6 working.

Link to comment
Share on other sites

Guest schmatzler

Strange. Somehow the bcm4319 wifi driver creates an eth0 device instead of a wlan0 device. Have you got an idea why this happens?

I changed any reference from wlan0 to eth0 in the initfiles and I am rebuilding now. Lets see if it runs.

Link to comment
Share on other sites

Guest schmatzler

Wifi is running again. Changed the dhcp.wlan0 service to dhcp.eth0 and all other references too. But bluetooth never powers up. It fires up bcm_power and that's it.

I will check that later, because I have no clue how this could happen. Config indicates that it's a BCM2070 chip and its working with the original ROM and my custom kernel so the driver is in the kernel.

Now I will concentrate on the compass, the proximity sensor and the LED which is still not working. Wish me luck :)

Link to comment
Share on other sites

Guest hecatae

cyanogen_tureis.mk

# Inherit AOSP device configuration for tureis.
$(call inherit-product, device/zte/tureis/device_tureis.mk)

# Inherit some common cyanogenmod stuff.
$(call inherit-product, vendor/cyanogen/products/common_full_no_themes.mk)

# Include GSM stuff
$(call inherit-product, vendor/cyanogen/products/gsm.mk)

#
# Setup device specific product configuration.
#
PRODUCT_NAME := cyanogen_tureis
PRODUCT_BRAND := zte
PRODUCT_DEVICE := tureis
PRODUCT_MODEL := Tureis
PRODUCT_MANUFACTURER := ZTE
PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=blade BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"

# Add LDPI assets, in addition to MDPI
PRODUCT_LOCALES += ldpi mdpi

# Extra overlay for LDPI
PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/ldpi

# Release name and versioning
PRODUCT_RELEASE_NAME := Tureis
PRODUCT_VERSION_DEVICE_SPECIFIC :=
-include vendor/cyanogen/products/common_versions.mk

#
# Copy legend specific prebuilt files
#
PRODUCT_COPY_FILES += \
vendor/cyanogen/prebuilt/ldpi/media/bootanimation.zip:system/media/bootanimation.zip[/code] got to here:
[code]make: *** No rule to make target `vendor/zte/tureis/proprietary/libloc_api-rpcqc.so', needed by `out/target/product/tureis/system/lib/libloc_api-rpcqc.so'. Stop.
make: *** Waiting for unfinished jobs....

using your sources

Link to comment
Share on other sites

Guest schmatzler

I don't have a vendor folder, everything is happening in the device folder. The proprietaries are also in the device folder.

Did you run the extract-files or setup-makefiles script? I did not update them.

Link to comment
Share on other sites

  • 3 weeks later...
Guest schmatzler

I'm getting to the end!

LED notifications work flawlessly. Bluetooth finally works again (had to use precompiled hciattach because this one fires up the broadcom stack), Wifi works flawlessly. 2G and 3G work and get APN settings automatically from my provider (which isn't possible in the stock ROM). I also updated the GL drivers for the Adreno 200 and Angry Birds is not lagging anymore. This is simply awesome! :)

Just two major flaws and two minor flaws are remaining:

- Microphone is not working. It cannot open the source

- I'm getting GL errors when viewing videos. Audio works, video is a white screen

- FM Radio isn't working. I get static but I cannot seek. I'm playing with the FM radio config, should work.

- Sensor not working. Precompiled libsensors is uploaded to the device, but nothing happens when I turn the screen 90 degrees. Damn.

When I've solved the microphone issue and the video issue I will post a first release. Stay tuned!

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.