As I detailed in this thread: DeCAF Cyanogenmod 11, Alpha 3(working cell service/semi working data), I am trying hard to build Cyanogenmod 12 for the LG Volt based on LG's newly released ZV5 kernel sources. In deference to what @whoshotjr2006 and others are trying to accomplish with CM11 in that thread, I thought it would be appropriate to start a new separate thread dedicated to building CM12.
I have learned some more about building CM, so I will post detailed (but hopefully better than last time) instructions for setting up a build environment and getting the compile started on your system.
UPDATE (1/21/2015): Still a pre-alpha build, but with some progress.
Here is where we're at so far:
If there is a problem with my instructions, please reply to the thread with any comments!
As you build, if you have ANY build errors, please post them in the reply field. If we work together, we can try to get this configuration to finally build!
You do not need any fancy hardware configuration to build cyanogenmod, but the better your system specs, the faster it will build.
This thread is dedicated to building this configuration, so please keep the comments limited to the above parameters.
------------------------------------------------------------------------------------------
Now for the instructions! Here goes:
Start with a clean install of Debian or Ubuntu (I used Ubuntu 14.10 - you can use any fairly recent version)
To update to the latest sources, run:
To make sure you don't have any other JDK installed, run:
Then install the latest version of OpenJDK:
Install the build dependencies:
.
To get the source, first download "repo" and put it in the system path:
Now we're ready to pull the source. This may take a while to complete depending on your connection speed:
Make a new local manifest file:
Here is where we combine the LG Volt code with the already downloaded cyanogenmod sources:
In the text editor, add these lines:
Then resync the repos to grab the new source code:
Initialize the build environment:
Now send the command to build:
The code will now begin to compile.
------------------------------------------------------------------------------------------
Thank you everyone who contributed and continues to contribute to porting Cyanogenmod to the LG Volt!
@whoshotjr2006, @Bad_MOFO_33, @bakerd62, @adamhos1234, @Sands207, @AnDroiDHackxr, @Corey Fields, and everyone else in these forums (sorry if I missed anyone)
BIG thanks to the guys in the ##LG_VOLT channel on freenode!!!
(especially @Zef_MOFO)
Sources:
I have learned some more about building CM, so I will post detailed (but hopefully better than last time) instructions for setting up a build environment and getting the compile started on your system.
UPDATE (1/21/2015): Still a pre-alpha build, but with some progress.
Here is where we're at so far:
- Thanks to @Bad_MOFO_33, I reverted the build tree back to the old way of doing things (pre-CM12). This allows recovery to flash the /system partition properly (as far as I can see)
- adb now has a chance to load before the device gets stuck at the splash screen. This means we can now get logcats of boot errors.
- However, the phone is still not booting - I have posted the latest logcat in my last post.
If there is a problem with my instructions, please reply to the thread with any comments!
As you build, if you have ANY build errors, please post them in the reply field. If we work together, we can try to get this configuration to finally build!
You do not need any fancy hardware configuration to build cyanogenmod, but the better your system specs, the faster it will build.
This thread is dedicated to building this configuration, so please keep the comments limited to the above parameters.
------------------------------------------------------------------------------------------
Now for the instructions! Here goes:
Start with a clean install of Debian or Ubuntu (I used Ubuntu 14.10 - you can use any fairly recent version)
To update to the latest sources, run:
Code:
sudo apt-get update
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
Code:
sudo apt-get install openjdk-7-jdk
Code:
sudo apt-get install git gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z1-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc libreadline6-dev lib32readline-gplv2-dev libncurses5-dev bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev squashfs-tools pngcrush schedtool dpkg-dev
To get the source, first download "repo" and put it in the system path:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
cd ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now we're ready to pull the source. This may take a while to complete depending on your connection speed:
Code:
mkdir ~/cm12
cd ~/cm12
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0
repo sync
Make a new local manifest file:
Code:
mkdir .repo/local_manifests
cd .repo/local_manifests
gedit local_manifest.xml
Here is where we combine the LG Volt code with the already downloaded cyanogenmod sources:
In the text editor, add these lines:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- CM removals -->
<remove-project name="CyanogenMod/android_frameworks_av" />
<project name="CyanogenMod/android_hardware_qcom_fm" path="hardware/qcom/fm" remote="github" />
<project name="CyanogenMod/android_hardware_qcom_display-caf-new" path="hardware/qcom/display-caf-new" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_hardware_qcom_media-caf-new" path="hardware/qcom/media-caf-new" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="touchpro/android_device_lge_x5" path="device/lge/x5" remote="github" revision="cm11-caf"/>
<project name="elisam98/android_kernel_lge_x5" path="kernel/lge/x5" remote="github" revision="master" />
<project name="Quarx2k/android_kernel_lge_msm8226" path="kernel/lge/msm8226" />
<project name="Quarx2k/android_frameworks_av" path="frameworks/av" />
<project name="touchpro/android_vendor_lge_x5" path="vendor/lge/x5" revision="master" />
</manifest>
Then resync the repos to grab the new source code:
Code:
cd ~/cm12
repo sync
Initialize the build environment:
Code:
. build/envsetup.sh
Now send the command to build:
Code:
brunch x5
The code will now begin to compile.
------------------------------------------------------------------------------------------
Thank you everyone who contributed and continues to contribute to porting Cyanogenmod to the LG Volt!
@whoshotjr2006, @Bad_MOFO_33, @bakerd62, @adamhos1234, @Sands207, @AnDroiDHackxr, @Corey Fields, and everyone else in these forums (sorry if I missed anyone)
BIG thanks to the guys in the ##LG_VOLT channel on freenode!!!
(especially @Zef_MOFO)
Sources:
- http://androidforums.com/threads/de...working-cell-service-semi-working-data.886984
- https://source.android.com/source/initializing.html
- http://developer.sonymobile.com/kno...ld-aosp-lollipop-for-unlocked-xperia-devices/
- http://forum.xda-developers.com/nexus-4/general/guide-cm11-how-to-build-cyanogenmod-11-t2515305
Last edited: