OK, it's been a long marathon weekend (freezing system, running out of HD space multiple times, and a LOT of build errors!), but I'm ready to post my progress so far.
I'm gonna start by giving detailed build instructions to reproduce my progress. Maybe that will lower the entry bar for more builders to jump in...
I decided that once I'm spending the time to build, I would aim for the latest and greatest, so I went for CM12 (Lollipop) and LG's ZV5 kernel
I started with a clean install of Ubuntu 14.10 on my notebook (and I still ran out of space on the partiton!)
I ran
just to update to the latest sources.
Then I made sure i didn't have any other JDK installed, i ran
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
.
Then
Code:
sudo apt-get install openjdk-7-jdk
to get the latest version of OpenJDK.
I installed build dependencies with
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, I first downloaded "repo" and put it in the system path (each line is a new command):
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 (again, each line is a new command). This last command will take a while, 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
Next, pull the additional sources from
@whoshotjr2006's sources (thanks
@whoshotjr2006!) and put them in their correct directories:
Code:
mkdir device/lge
cd device/lge
git clone -b master https://github.com/touchpro/android_device_lge_x5 x5
cd ~/cm12
mkdir vendor/lge
cd vendor/lge
git clone -b master https://github.com/touchpro/android_vendor_lge_x5 x5
cd ~/cm12
cd device/qcom
git clone https://github.com/CyanogenMod/android_device_qcom_common common
I then chose to use the V5 kernel source from LG Open Source Code Distribution at
https://www.lg.com/global/support/opensource/opensourceList?types=ALL&search=lg volt.
Just click on the folder icon next to the "LGLS740_LG Volt_Android_KK_LS740ZV5_Kernel" listing.
Then unzip and place the contents of the "kernel" folder in the "kernel/lge/x5" directory. (If the these directories don't exist, just create them yourself.)
Now return to the /cm12 root directory and initialize the build environment
Code:
cd ~/cm12
. build/envsetup.sh
I'm not sure if this is necessary, but the following 2 steps are adapted from the site that was linked in the first post
http://forum.xda-developers.com/nexus-4/general/guide-cm11-how-to-build-cyanogenmod-11-t2515305:
Make a new local manifest file:
Code:
mkdir .repo/local_manifests
cd .repo/local_manifests
gedit local_manifest.xml
In the text editor, add these lines:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_lge.git" path="vendor/lge" remote="github" revision="cm-12.0"/>
</manifest>
Then resync the repos:
EDIT: It's seems as if the prebuilts feature has been deprecated...
The last step before compiling is to to get some prebuilt stuff from the cyanogenmod team:
Code:
cd ~/cm12/vendor/cm
. get-prebuilts
Finally ready to build!
Here's where the community comes in 
As of now, the build won't complete. I get this error:
make[1]: Entering directory '/home/elisam98/cm12/kernel/lge/x5'
/home/elisam98/cm12/out/host/linux-x86/bin/checkpolicy: loading policy configuration from /home/elisam98/cm12/out/target/product/x5/obj/ETC/sepolicy_intermediates/policy.conf
vendor/cm/sepolicy/file.te:8:WARNING 'unrecognized character' at token '+' on line 12463:
# Themes
+type theme_data_file, file_type, data_file_type;
device/lge/x5/sepolicy/wpa_supplicant.te:5:ERROR 'unknown type system' at token ';' on line 11556:
allow wpa_socket system:unix_dgram_socket sendto;
allow wpa wpa_socket:unix_dgram_socket { read write };
checkpolicy: error(s) encountered while parsing configuration
external/sepolicy/Android.mk:121: recipe for target '/home/elisam98/cm12/out/target/product/x5/obj/ETC/sepolicy_intermediates/sepolicy' failed
make: *** [/home/elisam98/cm12/out/target/product/x5/obj/ETC/sepolicy_intermediates/sepolicy] Error 1
make: *** Waiting for unfinished jobs....
GEN /home/elisam98/cm12/out/target/product/x5/obj/KERNEL_OBJ/Makefile
net/ipv4/Kconfig:635:warning: leading whitespace ignored
net/ipv6/Kconfig:260:warning: multi-line strings not supported
warning: (SND_SOC_MSM8226) selects DOLBY_DAP which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && SND_SOC_MSM8974)
warning: (SND_SOC_MSM8226) selects DOLBY_DAP which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && SND_SOC_MSM8974)
#
# configuration written to .config
#
make[1]: Leaving directory '/home/elisam98/cm12/kernel/lge/x5'
Well there you have it, my weekend in a nutshell!
Thank you everyone who contributed and continues to contribute to this project!
@whoshotjr2006,
@Bad_MOFO_33,
@bakerd62,
@adamhos1234,
@Sands207,
@AnDroiDHackxr,
@Corey Fields, and everyone else in this forum (sorry if I missed anyone)
BIG thanks to the guys in the ##LG_VOLT channel on freenode!!!
(especially @Zef_MOFO)
Sources:
- Obviously, posts #1 & #2
- 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
Please post any input on this guide. Let's get this thing done!