####Current CM9 Build Status
(Please note that the LG Viper has reached EOL. No further development past ICS will be pursued by developers.)
This short guide assumes you're on Ubuntu 10.04
Install the Java 6 JDK like this.
$ mkdir ~/java
$ cd ~/java
$ git clone https://github.com/thenameisnigel/oab-java6.git
$ cd ~/java/oab-java6
$ sudo ./oab-java.sh
$ rm -rf ~/java
Then when its finished, follow the guide on the AOSP Page:
http://source.android.com/source/initializing.html
First, we need to create directories for the build (system can be whatever you want to name your working directory):
$ mkdir -p ~/android
Now we'll need repo. Let's download it and make it executable:
$ sudo curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > /usr/bin/repo
$ sudo chmod a+x /usr/bin/repo
Now initialized the repository and pull the source (with my repos attached):
$ cd ~/android
$ repo init -u git://github.com/CyanogenMod/android.git -b ics
$ repo sync -j4
Depending on your connection, this might take awhile.
Now let's get some required stuff.
Open terminal and type the following stuff:
$ geany ~/android/.repo/local_manifest.xml
Once that opens, copy and paste the following:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="EpicCM/d710tools.git" path="d710tools" remote="github" revision="ics" />
<project name="L0rdWaffles/android_device_lge_ls840" path="device/lge/ls840" remote="github" revision="ics" />
<project name="thenameisnigel/android_kernel_lge_ls840" path="kernel/lge/ls840" remote="github" revision="ics" />
<project name="ProjectVendor/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="ics" />
<project name="EpicCM/android_device_samsung_d710" path="device/samsung/d710" remote="github" revision="ics" />
<project name="CyanogenMod/android_device_htc_msm8660-common" path="device/htc/msm8660-common" remote="github" revision="ics" />
<project name="CyanogenMod/android_hardware_qcom_audio" path="hardware/qcom/audio" remote="github" revision="ics" />
<project name="EpicAOSP/android_kernel_samsung_smdk4210_new" path="kernel/samsung/smdk4210" remote="github" revision="ics" />
<project name="mcrosson/android_packages_apps_CMFileManager" path="packages/apps/CMFileManager" remote="github" revision="ics" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="ics" />
<project name="ProjectOpenCannibal/android_bootable_recovery" path="bootable/recovery" remote="github" revision="jellybean-dev" />
</manifest>
Now you need to pull the required repositories so you run:
$ cd ~/android
$ repo sync -j8
Once thats done you can start compiling.
Follow the aosp instructions on setting up the build environment. - http://source.android.com/source/download.html
When the environment is setup, we need to grab a copy of Koush's ROM Manager and the Term.apk. This is necessary to build CM9.
$ vendor/cm/get-prebuilts
Now, we build (android being your work directory path):
$ cd ~/android
To build for the LG LS840:
$ source build/envsetup.sh
$ lunch 5 && make -j8
If the build was successful, you can now take the update zip found in out/target/product/ls840/ and flash using a custom recovery. Make sure to grab the latest Gapps to complete the experience.
When you want to rebuild with new changes to the BoardConfig.mk or after syncing to the latest CM src make sure to do the following before you recompile.
$ make clobber