[GUIDE]Compile AOKP and CyanogenMod for HTC Sensation on Ubuntu (ONLY 64-bit)

Search This thread

sparksco

Inactive Recognized Developer
Feb 27, 2010
10,048
8,861
docs.google.com
According to https://github.com/blog/642-smart-http-support
http is correct, https is for private repos, or to have push access on your repository.
Just seems github is having issues with http right now, reverting to git solves this.
(I've tested and am syncing without error now)

From the looks of it this is better for private repos, maybe that's their whole reasoning for trying this change in the first place -__-
Once I get my ics branch up I'll let you guys know. Do you mind if I merge in OpenSensation sources to it? Some makefiles would need to be changed in the device source tree but it wouldn't be that difficult. If you want push access to it the site is here:

https://gitorious.org/+teamandroid

Let me know and I'll see about adding in more members once the ics branch is up and running.
 

Vorbeth

Senior Member
Mar 10, 2006
2,180
2,355
From the looks of it this is better for private repos, maybe that's their whole reasoning for trying this change in the first place -__-
Once I get my ics branch up I'll let you guys know. Do you mind if I merge in OpenSensation sources to it? Some makefiles would need to be changed in the device source tree but it wouldn't be that difficult. If you want push access to it the site is here:

https://gitorious.org/+teamandroid

Let me know and I'll see about adding in more members once the ics branch is up and running.

I don't mind at all, however a lot of qcom changes are about to be made, so it may be best to hold off for a little bit.
 

tomS01

Senior Member
Jul 1, 2010
667
183
Tatabanya
From the looks of it this is better for private repos, maybe that's their whole reasoning for trying this change in the first place -__-
Once I get my ics branch up I'll let you guys know. Do you mind if I merge in OpenSensation sources to it? Some makefiles would need to be changed in the device source tree but it wouldn't be that difficult. If you want push access to it the site is here:
https://gitorious.org/+teamandroid
Let me know and I'll see about adding in more members once the ics branch is up and running.
I made an account on this:)
 

sparksco

Inactive Recognized Developer
Feb 27, 2010
10,048
8,861
docs.google.com
I don't mind at all, however a lot of qcom changes are about to be made, so it may be best to hold off for a little bit.

Ok thanks, like I said it might be easier if your a member so that way you can just push the changes whenever you want and whatever branches you want also. Since you making most of the changes yourself, you'll know what's what and what everything does. I wasn't planning on merging anything until the rest of the ics repo soureces are up. I keep all the original commits on all the repos which currently are mostly cm's commits. That way I'm not hijacking/kanging the changes. The current gingerbread branch is compiling nicely and I'll be adding in the gingerbread teamandroid vendor repo soon. The reason I'm doing gingerbread first is to test everything out so I won't screw up the ICS branch lol.
 

sparksco

Inactive Recognized Developer
Feb 27, 2010
10,048
8,861
docs.google.com
I made an account on this:)

Oh cool do you have some good knowledge with git and source code? This is important to be a member but you can also make forks of the repo if you want to do little changes here and there. Mostly I just want one or two maintainers for each device and since I don't have a sensation would be better if Vorbeth and/or blahbl4hblah could do it. I can however get the initial base source up for ics and merge in new cm commits when I have time. I'll be testing cm changes for my device as well so it would benefit everyone. I'm just really getting tired of having a incomplete repo source. I'm not using a local_manifest.xml at all anymore which I really like :D But once the ics repo source is available I'll post instructions on how to get the repo set up for building. It'll be very similar to this guide but you'll have to make a seperate folder on your pc like android/TeamAndroid or something to that effect.
 

Vorbeth

Senior Member
Mar 10, 2006
2,180
2,355
Just a heads up,
If you sync your repo's as of tonight, compiling may fail.
While we are working on getting thing's working better we have merged some gerrit changes ahead of Cyanogen.

All the diverged repo's can be found on https://github.com/OpenSensation

@sparksco & blahbl4hblah
To resolve the above issue I have made a default repo that will pull the correct forward gerrit changes.
Code:
repo init -u git://github.com/OpenSensation/android.git -b ics
 

blahbl4hblah

Inactive Recognized Developer
Oct 3, 2010
6,061
1,514
Los Angeles, CA
Why does it requires GCC 4.4? Compiled fine here with GCC 4.6.2, Python 2.7.2 and openjdk 6.b24_1.11.1-1.

"Time to compile: 174 min(s) 31 sec(s)" on my Core2Duo T6570 with 8GB Ram and nicemode 5 :)
I think my kernel update (from source) slowed it a bit down. Next run should be faster :D

It was a prerequisite before but I guess it's no longer required. I'll try it next time

Thanks for letting me know

Sent from my HTC Sensation using xda premium
 

gbzbar

Senior Member
Jun 18, 2010
700
384
It was a prerequisite before but I guess it's no longer required. I'll try it next time

Thanks for letting me know

Sent from my HTC Sensation using xda premium

Yeah, after that PM I got from you, I've tried compiling since using brunch with no switches (only as an experiment), and I've had absolutely no problems. Compile finished fine, and the ROM ran perfectly.
I get a full compile done in exactly 2 hours on an i7 with 8gb ram.
 

blahbl4hblah

Inactive Recognized Developer
Oct 3, 2010
6,061
1,514
Los Angeles, CA
Yeah, after that PM I got from you, I've tried compiling since using brunch with no switches (only as an experiment), and I've had absolutely no problems. Compile finished fine, and the ROM ran perfectly.
I get a full compile done in exactly 2 hours on an i7 with 8gb ram.

That's actually slow. Mine finishes in a hour and it's only a amd quad

Sent from my HTC Sensation using xda premium
 

gbzbar

Senior Member
Jun 18, 2010
700
384
That's actually slow. Mine finishes in a hour and it's only a amd quad

Sent from my HTC Sensation using xda premium

Sorry, I meant i7 dual, not quad. It's a laptop, so new processor, but older technology. :(
And either way, its the same exact compile time that I was getting while using GCC 4.4.
 

mpmilestogo

Senior Member
Aug 9, 2009
348
66
Union City California
Just a heads up,
If you sync your repo's as of tonight, compiling may fail.
While we are working on getting thing's working better we have merged some gerrit changes ahead of Cyanogen.

All the diverged repo's can be found on https://github.com/OpenSensation

@sparksco & blahbl4hblah
To resolve the above issue I have made a default repo that will pull the correct forward gerrit changes.
Code:
repo init -u git://github.com/OpenSensation/android.git -b ics

HI Vorbeth. Just a question since I have been tracking the changes. When/if I make this change to my repos, do I still need the local manifest file per the instructions in 4c in the OP or does this repo take the place of those in the local file?

Thanks. Appreciate all the goodness coming!
 

Vorbeth

Senior Member
Mar 10, 2006
2,180
2,355
HI Vorbeth. Just a question since I have been tracking the changes. When/if I make this change to my repos, do I still need the local manifest file per the instructions in 4c in the OP or does this repo take the place of those in the local file?

Thanks. Appreciate all the goodness coming!

If your using your own repo, then you can remove local_manifest.xml
 

sparksco

Inactive Recognized Developer
Feb 27, 2010
10,048
8,861
docs.google.com
Just a heads up,
If you sync your repo's as of tonight, compiling may fail.
While we are working on getting thing's working better we have merged some gerrit changes ahead of Cyanogen.

All the diverged repo's can be found on https://github.com/OpenSensation

@sparksco & blahbl4hblah
To resolve the above issue I have made a default repo that will pull the correct forward gerrit changes.
Code:
repo init -u git://github.com/OpenSensation/android.git -b ics

So with most of the repos from this are cyanogen's so we won't have shh access right? I'll be working on a entire repo source for ics that will not just pull other people's repos but will allow us to have shh access unlike the cm repos. However we will still be able to test gerrit patches and merge in new cm github changes to our own repos...
 

rawdealer

Senior Member
Mar 17, 2011
2,883
1,965
District 1
OnePlus 6
OnePlus 7T
I have fresh installed Ubuntu on W7 (dual boot) and while installing Java stucked again on this screen. How long I have to wait here....? It stays here for ages.
If I want to close terminal it says that something is working in "backstage" :D etc

img20120228084227.jpg


Sent with a cold beer in my hand :)
 
Last edited:

gbzbar

Senior Member
Jun 18, 2010
700
384
I have fresh installed Ubuntu on W7 (dual boot) and while installing Java stucked again on this screen. How long I have to wait here....? It stays here for ages.
If I want to close terminal it says that something is working in "backstage" :D etc

img20120228084227.jpg


Sent with a cold beer in my hand :)

Click on the window and press the right arrow key, and then enter. :)
 
  • Like
Reactions: rawdealer

rawdealer

Senior Member
Mar 17, 2011
2,883
1,965
District 1
OnePlus 6
OnePlus 7T
Huh :/

I got this message when typing
4e. Download Necessary Source
Code:
cd ~/android/system
repo sync


Code:
miha@ubuntu:~/android/system$ repo sync
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Fetching projects:   4% (10/245)  remote: Counting objects: 64458, done.
remote: Compressing objects: 100% (20378/20378), done.
remote: Counting objects: 60402, done.
remote: Compressing objects: 100% (18527/18527), done.
Fetching projects:   5% (13/245)  Receiving objects:   0% (548/64458), 92.00 KiBremote: Counting objects: 4239, done.
remote: Compressing objects: 100% (1885/1885), done.
remote: Counting objects: 1956, done.
remote: Compressing objects:  Receiving objects:   6% (3625/60402), 740.00 KiB |remote: Compressing objects:  97% (926Receiving objects:  10% (439/4239), 116.00remote: Compressing objects: 100% (954/954), done.
error: RPC failed; result=18, HTTP code = 200iB | 44 KiB/s   
fatal: The remote end hung up unexpectedly
fatal: early EOFs:  11% (7388/64458), 3.25 MiB | 137 KiB/s   
fatal: index-pack failed
warning: http unexpectedly said: '0000'
error: RPC failed; result=18, HTTP code = 200B | 89 KiB/s     
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
warning: http unexpectedly said: '0000'
Receiving objects:  38% (1632/4239), 3.79 MiB | 48 KiB/s 

and so on...

   fatal: index-pack failed
warning: http unexpectedly said: '0000'
error: Cannot fetch CyanogenMod/android_development1 KiB/s   
From /home/miha/android/system/.repo/projects/device/sample.git/clone.bundle
 * [new branch]      master     -> aosp/master
 * [new branch]      gingerbread-release -> aosp/gingerbread-release
 * [new branch]      gingerbread-mr4-release -> aosp/gingerbread-mr4-release
 * [new branch]      gingerbread -> aosp/gingerbread
 * [new branch]      froyo-release -> aosp/froyo-release
 * [new branch]      froyo      -> aosp/froyo
 * [new tag]         android-2.3_r1 -> android-2.3_r1
 * [new tag]         android-2.3.7_r1 -> android-2.3.7_r1
 * [new tag]         android-2.3.6_r1 -> android-2.3.6_r1
 * [new tag]         android-2.3.6_r0.9 -> android-2.3.6_r0.9
 * [new tag]         android-2.3.5_r1 -> android-2.3.5_r1
 * [new tag]         android-2.3.4_r1 -> android-2.3.4_r1
 * [new tag]         android-2.3.4_r0.9 -> android-2.3.4_r0.9
 * [new tag]         android-2.3.3_r1.1 -> android-2.3.3_r1.1
 * [new tag]         android-2.3.3_r1 -> android-2.3.3_r1
 * [new tag]         android-2.3.2_r1 -> android-2.3.2_r1
 * [new tag]         android-2.3.1_r1 -> android-2.3.1_r1
 * [new tag]         android-2.2_r1.3 -> android-2.2_r1.3
 * [new tag]         android-2.2_r1.2 -> android-2.2_r1.2
 * [new tag]         android-2.2_r1.1 -> android-2.2_r1.1
 * [new tag]         android-2.2_r1 -> android-2.2_r1
 * [new tag]         android-2.2.2_r1 -> android-2.2.2_r1
 * [new tag]         android-2.2.1_r2 -> android-2.2.1_r2
 * [new tag]         android-2.2.1_r1 -> android-2.2.1_r1
remote: Counting objects: 1956, done.
remote: Compressing objects: 100% (954/954), done.
remote: Counting objects: 89, done
remote: Finding sources: 100% (52/52)
remote: Getting sizes: 100% (40/40)
remote: Compressing objects: 100% (3/3)
remote: Total 52 (delta 13), reused 50 (delta 12)
Unpacking objects: 100% (52/52), done.04.00 KiB | 89 KiB/s   
From https://android.googlesource.com/device/sample
 * [new branch]      ics-factoryrom-2-release -> aosp/ics-factoryrom-2-release
 * [new branch]      ics-mr0    -> aosp/ics-mr0
 * [new branch]      ics-mr0-release -> aosp/ics-mr0-release
 * [new branch]      ics-mr1    -> aosp/ics-mr1
 * [new branch]      ics-mr1-release -> aosp/ics-mr1-release
   b7fe9ed..5d53e76  master     -> aosp/master
 * [new tag]         android-2.2.3_r1 -> android-2.2.3_r1
 * [new tag]         android-2.2.3_r2 -> android-2.2.3_r2
 * [new tag]         android-4.0.1_r1 -> android-4.0.1_r1
 * [new tag]         android-4.0.1_r1.1 -> android-4.0.1_r1.1
 * [new tag]         android-4.0.1_r1.2 -> android-4.0.1_r1.2
 * [new tag]         android-4.0.2_r1 -> android-4.0.2_r1
 * [new tag]         android-4.0.3_r1 -> android-4.0.3_r1
 * [new tag]         android-cts-2.2_r8 -> android-cts-2.2_r8
 * [new tag]         android-cts-2.3_r10 -> android-cts-2.3_r10
 * [new tag]         android-cts-2.3_r11 -> android-cts-2.3_r11
 * [new tag]         android-cts-4.0_r1 -> android-cts-4.0_r1
 * [new tag]         android-cts-verifier-4.0_r1 -> android-cts-verifier-4.0_r1
 * [new tag]         android-sdk-4.0.3-tools_r1 -> android-sdk-4.0.3-tools_r1
 * [new tag]         android-sdk-4.0.3_r1 -> android-sdk-4.0.3_r1
 * [new tag]         android-sdk-adt_r16.0.1 -> android-sdk-adt_r16.0.1
error: RPC failed; result=18, HTTP code = 200| 41 KiB/s     
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
warning: http unexpectedly said: '0000'
error: Cannot fetch CyanogenMod/android_dalvik | 309 KiB/s   
error: Cannot fetch CyanogenMod/android_device_moto_wingray  
error: RPC failed; result=18, HTTP code = 200iB | 239 KiB/s   
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
warning: http unexpectedly said: '0000'
error: Cannot fetch CyanogenMod/android_device_moto_stingray

error: Exited sync due to fetch errors
miha@ubuntu:~/android/system$

and my pmemalloc.cpp is empty :/ ???
 

Top Liked Posts

  • There are no posts matching your filters.
  • 69
    First of all, BIG BIG thanks to SparksCo for his guide for compiling CM7, I used his guide as a base for this

    Credits:
    CyanogenMod for giving their source to everyone
    SparksCo for teaching me what I know
    Vorbeth for releasing the original source for Sensation
    Elelinux for his hardwork on adding things to the device tree

    I'm making this guide for those who don't want to wait for a new CyanogenMod or AOKP build and want to build it themselves.
    Working on both ubuntu 11.10 and 12.04

    NOTE: DEPENDING ON YOUR COMPUTER'S HARDWARE, COMPILING TIME WILL BE DIFFERENT
    If you have a MAC OSX, I do not have a guide for that as I don't have one.

    Be aware for which part is for AOKP and CyanogenMod
    I have put "AOKP" and "CyanogenMod" Labels to help


    EVERYTHING THAT IS IN A BOX, OPEN TERMINAL AND ENTER THE COMMAND IN THAT SECTION

    Guide Requirements:
    - Computer
    - Common Sense
    - Some Linux Experience
    - Ubuntu 64-bit Installed
    - At least 4GB of ram with a dual core processor.


    Required Software to Install:

    For 32-bit and 64-bit System
    Code:
    sudo apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool xsltproc

    For 64-bit System
    Code:
    sudo apt-get install g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib

    Other Required Software:
    Code:
    sudo apt-get install libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils

    Link libx11
    Code:
    sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

    You must have a 1.6.x to compile on the ics branch of cyanogenmod.

    MUST Install Java 1.6 (NOT Java 1.7):

    1a. Download Java JDK for Linux 64-bit from Java site
    Code:
    http://www.oracle.com/technetwork/java/javase/downloads/index.html

    Be sure to download (## will change if there's an update):
    Code:
    jdk-6u##-linux-x64.bin

    1b. Move the downloaded Java JDK into your home directory

    1c. Be sure to completely remove ALL OTHER JAVA

    Don't worry if some things are asked to be installed just accept!

    Code:
    sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

    1d. Copy Java JDK into /opt/java/64
    Code:
    sudo mkdir -p /opt/java/64/
    sudo cp jdk-6u##-linux-x64.bin /opt/java/64
    sudo su -
    cd /opt/java/64
    chmod +x jdk-6u##-linux-x64.bin
    ./jdk-6u##-linux-x64.bin
    exit

    1e. Add the needed PATH to .bashrc
    Code:
    gedit ~/.bashrc

    Add these lines to .bashrc (Better to be near the top):
    Code:
    # Java PATHs
    export JAVA_HOME=/opt/java/64/jdk1.6.0_##
    export PATH=$PATH:$JAVA_HOME/bin

    Setting Up Android SDK

    2a. Download Android SDK at http://developer.android.com/sdk/index.html

    2b. Extract it to your home folder [Ex. ~/android/sdk]

    2c. Add Android SDK Path

    gedit ~/.bashrc
    Enter the Following:
    Code:
    #Android PATH
    export PATH=$PATH:~/android/sdk
    export PATH=$PATH:~/android/sdk/platform-tools
    export PATH=$PATH:~/android/sdk/tools

    2d. Add Extra Path For Device:

    sudo gedit /etc/udev/rules.d/99-android.rules (Text Editor will open up)
    Enter this in it:
    Code:
    #Acer
    SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
    #ASUS
    SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
    #Dell
    SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
    #Foxconn
    SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
    #Garmin-Asus
    SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
    #Google
    SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
    #HTC
    SUBSYSTEM==usb, SYSFS{idVendor}==0bb4, MODE=0666
    #Huawei
    SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
    #K-Touch
    SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
    #KT Tech
    SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
    #Kyocera
    SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
    #Lenevo
    SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
    #LG
    SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
    #Motorola
    SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
    #NEC
    SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
    #Nook
    SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
    #Nvidia
    SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
    #OTGV
    SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
    #Pantech
    SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
    #Philips
    SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
    #PMC-Sierra
    SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
    #Qualcomm
    SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
    #SK Telesys
    SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
    #Samsung
    SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
    #Sharp
    SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
    #Sony Ericsson
    SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
    #Toshiba
    SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
    #ZTE
    SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666
    
    
    SUBSYSTEM=="usb", ATTRS{idVendor}=="####:####", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev"
    TEST=="/var/run/ConsoleKit/database", \
    RUN+="udev-acl --action=$env{action} --device=$env{DEVNAME}"

    After this, close it and then enter:
    Code:
    sudo chmod +x /etc/udev/rules.d/99-android.rules

    If your using ANY AOSP rom like AOKP or CM9 and CM10
    Go into developer options and go to root access and change it from "Apps only" to Apps and ADB"

    2e. Install Certain Android SDK Tools

    Type:
    Code:
    android
    Check Android SDK Tools and Android SDK platform-tools and Install them

    Setting Up the .bashrc file

    gedit ~/.bashrc
    Enter the Following:
    Code:
    #Android PATH
    export PATH=$PATH:~/android/sdk
    export PATH=$PATH:~/android/sdk/platform-tools
    export PATH=$PATH:~/android/sdk/tools
    
    #Java PATH
    export JAVA_HOME=/opt/java/64/jdk1.6.0_32
    export PATH=$PATH:$JAVA_HOME/bin

    3b. After your done setting this up, close .bashrc file.

    Setup Workplace

    4a. Download CyanogenMod 9 Source
    Code:
    mkdir -p ~/bin
    mkdir -p ~/android/system
    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    chmod a+x ~/bin/repo (Reboot your computer after this)

    4b. Add Repo Path

    gedit ~/.bashrc

    Enter the following:
    Code:
    export PATH=$PATH:~/bin

    4c. Setup Necessary Source

    For CyanogenMod 9
    Code:
    cd ~/android/system
    repo init -u git://github.com/CyanogenMod/android.git -b ics

    For CyanogenMod 10
    Code:
    cd ~/android/system
    repo init -u git://github.com/CyanogenMod/android.git -b jellybean

    4d. Download Necessary Source
    Code:
    repo sync

    4e. Download Extra Needed Files
    Code:
    ~/android/system/vendor/cm/get-prebuilts

    Your Final .bashrc

    It SHOULD Look Something Like This:
    Code:
    #Android PATH
    export PATH=$PATH:~/android/sdk
    export PATH=$PATH:~/android/sdk/platform-tools
    export PATH=$PATH:~/android/sdk/tools
    export PATH=$PATH:~/bin
    
    #Java PATH
    export JAVA_HOME=/opt/java/64/jdk1.6.0_##
    export PATH=$PATH:$JAVA_HOME/bin

    Building CyanogenMod
    Code:
    . build/envsetup.sh; lunch cm_pyramid-userdebug; mka bacon

    Making a New Build

    Go inside to your source folder and delete the 'out' folder

    THEN Do This:
    Code:
    repo sync

    Code:
    . build/envsetup.sh; lunch cm_pyramid-userdebug; mka bacon
    16
    Compile AOKP Section

    Be sure to follow the steps from the above post and ONLY use this instead of the part called 4c. Setup Necessary Source

    FOR AOKP (ICS Version)
    Code:
    cd ~/android/system
    repo init -u https://github.com/AOKP/platform_manifest.git -b ics

    Temporary fix to build:
    Code:
    install -d prebuilt/android-arm/kernel

    Then do:
    Code:
    curl -o prebuilt/android-arm/kernel/LINUX_KERNEL_COPYING -O https://raw.github.com/ezterry/kernel-biff-testing/ezgb-2636/COPYING

    FOR AOKP (JELLYBEAN Version)
    Code:
    cd ~/android/system
    repo init -u https://github.com/AOKP/platform_manifest.git -b jb

    5b. Building AOKP
    Code:
    . build/envsetup.sh; lunch aokp_pyramid-userdebug; mka bacon
    11
    Reference

    This section is to help those who may look for answers

    Basic Linux Commands
    http://ss64.com/bash/

    CyanogenMod Wiki
    http://wiki.cyanogenmod.com/wiki/Main_Page

    Difference between breakfast, brunch and lunch
    http://synrgi.wordpress.com/2011/09/16/breakfast-brunch-and-lunch/

    Installing Android SDK
    http://developer.android.com/sdk/installing.html
    4
    Added it to the OP, sorry it took forever
    Can you also add my page with nightlies to the OP?