Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,782,291 Members 47,554 Now Online
XDA Developers Android and Mobile Development Forum

[HOW-TO] Building CM10, AOKP & TeamBaked For The JB Bootloader [Ubuntu 12.04+ 64-bit]

Tip us?
 
craigacgomez
Old
(Last edited by craigacgomez; 16th November 2012 at 04:01 AM.)
#1  
craigacgomez's Avatar
Senior Member - OP
Thanks Meter 2,616
Posts: 1,828
Join Date: Jan 2010
Location: Lake Forest, CA

 
DONATE TO ME
Angry [HOW-TO] Building CM10, AOKP & TeamBaked For The JB Bootloader [Ubuntu 12.04+ 64-bit]

As many of you know, I no longer have my Transformer Prime, and hence cannot continue development for this device. So until the official CM10, AOKP and TeamBaked ROMs are updated to support the new JellyBean bootloader, as a final useful contribution to this device, I decided to provide a how-to guide to help people make their own builds.

This guide assumes that you have some experience building ROMs for Android and that you are comfortable with Linux. It is focused towards building on Ubuntu 12.04+ 64-bit.

1. Prepare the system (common for CM10, AOKP & TeamBaked)

a. Install Java JDK6
Code:
$ wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java.sh
$ chmod +x oab-java.sh
$ sudo ./oab-java.sh
$ sudo apt-get install sun-java6-jdk
b. Install required applications
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc zlib1g-dev:i386 schedtool pngcrush
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
c. Get the repo binary
Code:
$ mkdir -p ~/bin
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
2. Building CM10

a. Get the CM10 source
Code:
$ mkdir -p ~/CM10
$ cd ~/CM10
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
$ repo sync -j8
b. Get my JB device, kernel & vendor source trees (You could use any other, just make sure it includes the changes needed for the JB bootloader and has the 3.1 kernel)
Code:
//JB device source to device/asus/tf201
$ mkdir -p ~/CM10/device/asus
$ cd ~/CM10/device/asus
$ git clone git://github.com/craigacgomez/android_device_asus_tf201.git -b cm_jb tf201

//JB kernel source to kernel/asus/tf201
$ mkdir -p ~/CM10/kernel/asus
$ cd ~/CM10/kernel/asus
$ git clone git://github.com/craigacgomez/android_kernel_asus_tf201 -b 10.4.2.15-nvtegra tf201

//JB vendor source to vendor/asus/tf201
$ mkdir -p ~/CM10/vendor/asus
$ cd ~/CM10/vendor/asus
$ git clone git://github.com/craigacgomez/vendor_proprietary_asus_tf201 -b jellybean tf201
c. Comment out CMUpdater since this is not an official build (No harm in leaving it there as long as people are instructed not to use it)
Code:
$ cd ~/CM10/vendor/cm/config/
$ gedit common.mk [comment the line which says CMUpdater \]
d. Resync & build
Code:
$ cd ~/CM10
$ repo sync -j8
$ sh vendor/cm/get-prebuilts
$ . build/envsetup.sh && brunch tf201
3. Building TeamBaked

a. Get the TeamBaked source
Code:
$ mkdir -p ~/BAKED
$ cd ~/BAKED
$ repo init -u https://github.com/TeamBAKED/platform_manifest.git -b jb
$ repo sync -j8
b. Delete the tf201 directories
Code:
$ mkdir -p ~/BAKED/device/asus
$ rm -rf tf201
$ mkdir -p ~/BAKED/kernel/asus
$ rm -rf tf201
$ mkdir -p ~/BAKED/vendor/asus
$ rm -rf tf201
c. Get my JB device, kernel & vendor source trees (You could use any other, just make sure it includes the changes needed for the JB bootloader and has the 3.1 kernel)
Code:
//JB device source to device/asus/tf201
$ mkdir -p ~/BAKED/device/asus
$ cd ~/BAKED/device/asus
$ git clone git://github.com/craigacgomez/android_device_asus_tf201.git -b blackbean_jb tf201

//JB kernel source to kernel/asus/tf201
$ mkdir -p ~/BAKED/kernel/asus
$ cd ~/BAKED/kernel/asus
$ git clone git://github.com/craigacgomez/android_kernel_asus_tf201 -b 10.4.2.15-nvtegra tf201

//JB vendor source to vendor/asus/tf201
$ mkdir -p ~/BAKED/vendor/asus
$ cd ~/BAKED/vendor/asus
$ git clone git://github.com/craigacgomez/vendor_proprietary_asus_tf201 -b jellybean tf201
d. Resync & build
Code:
$ cd ~/BAKED
$ repo sync -j8
$ . build/envsetup.sh && brunch tf201
4. Building AOKP

a. Get the AOKP source
Code:
$ mkdir -p ~/AOKP
$ cd ~/AOKP
$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb
$ repo sync -j8
b. Get my JB device, kernel & vendor source trees (You could use any other, just make sure it includes the changes needed for the JB bootloader and has the 3.1 kernel)
Code:
//JB device source to device/asus/tf201
$ mkdir -p ~/AOKP/device/asus
$ cd ~/AOKP/device/asus
$ git clone git://github.com/craigacgomez/android_device_asus_tf201.git -b aokp_jb tf201

//JB kernel source to kernel/asus/tf201
$ mkdir -p ~/AOKP/kernel/asus
$ cd ~/AOKP/kernel/asus
$ git clone git://github.com/craigacgomez/android_kernel_asus_tf201 -b 10.4.2.15-nvtegra tf201

//JB vendor source to vendor/asus/tf201
$ mkdir -p ~/AOKP/vendor/asus
$ cd ~/AOKP/vendor/asus
$ git clone git://github.com/craigacgomez/vendor_proprietary_asus_tf201 -b jellybean tf201
c. Add tf201 to the vendor & build setup
Code:
$ cd ~/AOKP/vendor/aokp
$ gedit vendorsetup.sh
Add this line vendorsetup.sh below add_lunch_combo aokp_tf101-userdebug
Code:
add_lunch_combo aokp_tf201-userdebug
Code:
$ cd ~/AOKP/vendor/aokp/products
$ gedit AndroidProducts.mk
Add this line vendorsetup.sh below $(LOCAL_DIR)/tf101.mk \
Code:
$(LOCAL_DIR)/tf201.mk \
Code:
$ cd ~/AOKP/vendor/aokp/products
$ touch tf201.mk
$ gedit tf201.mk
Add these line to tf201.mk
Code:
# Inherit device configuration for tf201.
$(call inherit-product, device/asus/tf201/full_tf201.mk)

# Inherit some common AOKP stuff.
$(call inherit-product, vendor/aokp/configs/common_tablet.mk)
$(call inherit-product, vendor/aokp/configs/gsm.mk)

PRODUCT_NAME := aokp_tf201
PRODUCT_DEVICE := tf201
PRODUCT_BRAND := asus
PRODUCT_MODEL := Transformer Prime TF201
PRODUCT_MANUFACTURER := asus
PRODUCT_BUILD_PROP_OVERRIDES += \
    PRODUCT_NAME=EeePad \
	BUILD_FINGERPRINT="asus/US_epad/EeePad:4.1.1/JRO03C/US_epad-10.4.2.15-20120917:user/release-keys" \
	PRIVATE_BUILD_DESC="US_epad-user 4.1.1 JRO03C US_epad-10.4.2.15-20120917 release-keys" \

PRODUCT_COPY_FILES +=  \
    vendor/aokp/prebuilt/bootanimation/bootanimation_1280_800.zip:system/media/bootanimation.zip
d. Resync & build
Code:
$ cd ~/AOKP
$ repo sync -j8
$ . build/envsetup.sh && brunch tf201

CRAiG GoMEZ

Donate to me

Google LGE Nexus 5 [D820] | SlimKat (Android 4.4.2) - SlimRoms
Google Samsung Nexus 10 [GT-P8110HAEXAR] ThunderKat (Android 4.4.2) - craigacgomez
The Following 35 Users Say Thank You to craigacgomez For This Useful Post: [ Click to Expand ]
 
lortay78
Old
#2  
Senior Member
Thanks Meter 41
Posts: 284
Join Date: Sep 2010
Location: Boise, Idaho
Craig, you are so awesome. Thank you so much for all you have done for the community. I hope I can end up with a nexus so I can continue to follow your development, but I'm also glad for the instruction and inspiration to start figuring out how to do more myself. Thanks again.
 
qubz
Old
(Last edited by qubz; 13th November 2012 at 07:13 AM.) Reason: FIXED: grammar bug
#3  
qubz's Avatar
Recognized Developer
Thanks Meter 70
Posts: 581
Join Date: Jun 2007
Location: A parallel dimension

 
DONATE TO ME
You're an absolute legend.
I just pressed return to start the build of my first ROM from your previous guide when I saw this..
 
craigacgomez
Old
(Last edited by craigacgomez; 13th November 2012 at 05:31 AM.)
#4  
craigacgomez's Avatar
Senior Member - OP
Thanks Meter 2,616
Posts: 1,828
Join Date: Jan 2010
Location: Lake Forest, CA

 
DONATE TO ME
Quote:
Originally Posted by qubz View Post
Your an absolute legend.
I'm so sorry if I seem mean... but I just had to do this... I'm a grammar nazi!!
[IMG]http://***********************/instances/100x/30110066.jpg[/IMG]

CRAiG GoMEZ

Donate to me

Google LGE Nexus 5 [D820] | SlimKat (Android 4.4.2) - SlimRoms
Google Samsung Nexus 10 [GT-P8110HAEXAR] ThunderKat (Android 4.4.2) - craigacgomez
The Following 2 Users Say Thank You to craigacgomez For This Useful Post: [ Click to Expand ]
 
qubz
Old
(Last edited by qubz; 13th November 2012 at 10:19 PM.)
#5  
qubz's Avatar
Recognized Developer
Thanks Meter 70
Posts: 581
Join Date: Jun 2007
Location: A parallel dimension

 
DONATE TO ME
Quote:
Originally Posted by craigacgomez View Post
I'm so sorry if I seem mean... but I just had to do this... I'm a grammar nazi!!
[IMG]http://***********************/instances/100x/30110066.jpg[/IMG]
Ha ha, you got me. It's been a long day. Unfortunately the reply box had no compiler, fix uploaded.
 
chrischdi
Old
#6  
Member
Thanks Meter 19
Posts: 79
Join Date: Aug 2010
Location: Stuttgart
Hey craigacgomez,

thanks for your work.
But I got a problem while trying to build CM10.

Pastebin entry:
http://pastebin.com/st0DfWv4

I'm trying to build it on a server without a gui, what should make no problems. Installed all the requirements you mentioned.

Do you know how to get rid of this error?

Greetz
Chrischdi
 
craigacgomez
Old
#7  
craigacgomez's Avatar
Senior Member - OP
Thanks Meter 2,616
Posts: 1,828
Join Date: Jan 2010
Location: Lake Forest, CA

 
DONATE TO ME
Quote:
Originally Posted by chrischdi View Post
Hey craigacgomez,

thanks for your work.
But I got a problem while trying to build CM10.

Pastebin entry:
http://pastebin.com/st0DfWv4

I'm trying to build it on a server without a gui, what should make no problems. Installed all the requirements you mentioned.

Do you know how to get rid of this error?

Greetz
Chrischdi
libjli.so is a Java binary... somehow it cannot find it... could you try this...
http://serverfault.com/questions/579...e-or-directory

CRAiG GoMEZ

Donate to me

Google LGE Nexus 5 [D820] | SlimKat (Android 4.4.2) - SlimRoms
Google Samsung Nexus 10 [GT-P8110HAEXAR] ThunderKat (Android 4.4.2) - craigacgomez
 
marko!
Old
#8  
marko!'s Avatar
Senior Member
Thanks Meter 360
Posts: 755
Join Date: Feb 2011
Location: Halifax

 
DONATE TO ME
Thanks for this.
I'm hoping to keep your work going , this is a great start
its sad that you no longer have a prime though.
sent from my Prime
 
gunzy83
Old
#9  
gunzy83's Avatar
Member
Thanks Meter 17
Posts: 85
Join Date: Nov 2010
Location: Brisbane, AU
Thanks for posting this! You are an absolute legend! It is a massive help as I just started setting up my build environment for compiling my own CM10 and maybe even look at Paranoid
HTC One XL 32GB [S-OFF] [HTC 4.2.2 with Sense 5]
Asus TF201 32GB /w Dock [Unlocked] [CM10 Unofficial JBBL]
Retired: HTC Desire [S-OFF] [CM 7.2]

Twitter: gunzy83
 
craigacgomez
Old
#10  
craigacgomez's Avatar
Senior Member - OP
Thanks Meter 2,616
Posts: 1,828
Join Date: Jan 2010
Location: Lake Forest, CA

 
DONATE TO ME
Quote:
Originally Posted by marko! View Post
Thanks for this.
I'm hoping to keep your work going , this is a great start
its sad that you no longer have a prime though.
sent from my Prime
Quote:
Originally Posted by gunzy83 View Post
Thanks for posting this! You are an absolute legend! It is a massive help as I just started setting up my build environment for compiling my own CM10 and maybe even look at Paranoid
Nice to see people pick up where I left off... to be honest, all I did for this device was the first time for me... I've just been good at modding and I never dug deep into ROM & kernel work before, so I'm pretty sure you guys could do the same or even better!

CRAiG GoMEZ

Donate to me

Google LGE Nexus 5 [D820] | SlimKat (Android 4.4.2) - SlimRoms
Google Samsung Nexus 10 [GT-P8110HAEXAR] ThunderKat (Android 4.4.2) - craigacgomez

The Following User Says Thank You to craigacgomez For This Useful Post: [ Click to Expand ]
Tags
building, how-to, jb bootloader, tf201
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes