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

[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, 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.

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..

qubz said:
Your an absolute legend.
Click to expand...
Click to collapse
I'm so sorry if I seem mean... but I just had to do this... I'm a grammar nazi!!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

craigacgomez said:
I'm so sorry if I seem mean... but I just had to do this... I'm a grammar nazi!!
Click to expand...
Click to collapse
Ha ha, you got me. It's been a long day. Unfortunately the reply box had no compiler, fix uploaded.

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

chrischdi said:
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
Click to expand...
Click to collapse
libjli.so is a Java binary... somehow it cannot find it... could you try this...
http://serverfault.com/questions/57...ject-file-libjli-so-no-such-file-or-directory

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

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 :silly:

marko! said:
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
Click to expand...
Click to collapse
gunzy83 said:
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 :silly:
Click to expand...
Click to collapse
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!

Hi,
many thanks again Craig for all your work..
I tried to follow your guide for Team Baked, and ended up with::
""build/core/product_config.mk:193: *** _nic.PRODUCTS.[[vendor/baked/products/p5wifi.mk]]: "device/samsung/p5wifi/p5wifi.mk" does not exist. "Stop.
"** Don't have a product spec for: 'baked_tf201'
"** Do you have the right repo manifest?
"
Itried running breakfeast command as suggested but same error.
Anyone has a suggestion ?
Thanks

Striatum_bdr said:
Hi,
many thanks again Craig for all your work..
I tried to follow your guide for Team Baked, and ended up with::
""build/core/product_config.mk:193: *** _nic.PRODUCTS.[[vendor/baked/products/p5wifi.mk]]: "device/samsung/p5wifi/p5wifi.mk" does not exist. "Stop.
"** Don't have a product spec for: 'baked_tf201'
"** Do you have the right repo manifest?
"
Itried running breakfeast command as suggested but same error.
Anyone has a suggestion ?
Thanks
Click to expand...
Click to collapse
Don't run breakfast... just brunch... looks like it has something to do with the p5wifi... try resyncing or comment out that 'add_lunch_combo baked_p5wifi-userdebug' from vendor/baked/vendorsetup.sh

craigacgomez said:
Don't run breakfast... just brunch... looks like it has something to do with the p5wifi... try resyncing or comment out that 'add_lunch_combo baked_p5wifi-userdebug' from vendor/baked/vendorsetup.sh
Click to expand...
Click to collapse
My noob is going to start showing here, but when you say "Comment out" does that simply mean putting brackets around? Does it mean deleting that from the script? I haven't tried to build since your first little guide, but I think I put brackets around what it said to "Comment out."

lortay78 said:
My noob is going to start showing here, but when you say "Comment out" does that simply mean putting brackets around? Does it mean deleting that from the script? I haven't tried to build since your first little guide, but I think I put brackets around what it said to "Comment out."
Click to expand...
Click to collapse
That means out a # at the beginning of the line.

Hi,
Commented out all lines except tf201 in vendorsetup.sh and same error.

Striatum_bdr said:
Hi,
Commented out all lines except tf201 in vendorsetup.sh and same error.
Click to expand...
Click to collapse
Add these lines to the manifest.xml, then repo sync and brunch tf201:
<project path="device/samsung/p4-common" name="device_samsung_p4-common" remote="baked" revision="jb" />
<project path="device/samsung/p5wifi" name="device_samsung_p5wifi" remote="baked" revision="jb" /> :good:

csrabear said:
Add these lines to the manifest.xml, then repo sync and brunch tf201:
<project path="device/samsung/p4-common" name="device_samsung_p4-common" remote="baked" revision="jb" />
<project path="device/samsung/p5wifi" name="device_samsung_p5wifi" remote="baked" revision="jb" /> :good:
Click to expand...
Click to collapse
Great !
It does the trick but... lol
Then error with prebuilts arm toolchain,
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc : binary file impossible to execute
Same error endless. Files are there, permission set to executable...
Is there a way to use arm ubuntu toolchain (easily installed by Synaptic)?
Thanks again

Striatum_bdr said:
Great !
It does the trick but... lol
Then error with prebuilts arm toolchain,
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc : binary file impossible to execute
Same error endless. Files are there, permission set to executable...
Is there a way to use arm ubuntu toolchain (easily installed by Synaptic)?
Thanks again
Click to expand...
Click to collapse
Hi,
Try this thread for answer---
http://www.google.com/url?sa=t&rct=j&q=%2Fbin%2Fbash%3A%20prebuilts%2Fgcc%2Flinux-x86%2Farm%2Farm-linux-androideabi-4.6%2Fbin%2Farm-linux-androideabi-gcc%20%3A%20binary%20file%20impossible%20to%20execute&source=web&cd=1&cad=rja&ved=0CDAQFjAA&url=http%3A%2F%2Fforum.xda-developers.com%2Fshowthread.php%3Ft%3D1762641%26page%3D34&ei=T9KsUOnCMIuK8QS0wYHIAQ&usg=AFQjCNEZuCIRoHJX7_h_34dD3tvmeBbVsQ
or maybe this one will help--
http://www.google.com/url?sa=t&rct=j&q=%2Fbin%2Fbash%3A%20prebuilts%2Fgcc%2Flinux-x86%2Farm%2Farm-linux-androideabi-4.6%2Fbin%2Farm-linux-androideabi-gcc%20%3A%20binary%20file%20impossible%20to%20execute&source=web&cd=2&cad=rja&ved=0CDkQFjAB&url=http%3A%2F%2Fforum.xda-developers.com%2Fshowthread.php%3Ft%3D1807505%26page%3D2&ei=T9KsUOnCMIuK8QS0wYHIAQ&usg=AFQjCNE0FwC2wWy8UE5QHperdU0rI72MKw

csrabear said:
Hi,
Try this thread for answer---
or maybe this one will help--
http://www.google.com/url?sa=t&rct=j&q=%2Fbin%2Fbash%3A%20prebuilts%2Fgcc%2Flinux-x86%2Farm%2Farm-linux-androideabi-4.6%2Fbin%2Farm-linux-androideabi-gcc%20%3A%20binary%20file%20impossible%20to%20execute&source=web&cd=2&cad=rja&ved=0CDkQFjAB&url=http%3A%2F%2Fforum.xda-developers.com%2Fshowthread.php%3Ft%3D1807505%26page%3D2&ei=T9KsUOnCMIuK8QS0wYHIAQ&usg=AFQjCNE0FwC2wWy8UE5QHperdU0rI72MKw
Click to expand...
Click to collapse
Thanks that's what I suspected, I build on a 32bits machine, found 32 arm binaries in the above post.
Will try later. Thanks.

You really need a 64 bit os. Compilation started fine, but a some point gcc sdk binaries are used and again the default paths lead only to 64 bits ones.
I'll install a 64 version if ubuntu.
Thanks guys for you helps

Related

Building From Source?

im trying to build android from source on ubuntu 10.04. im on a 64 bit system . but this is what im stuck on.
when i enter the repo command:
repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair
it get this error back
exec: 23: python: not found
any ideas.
python: not found
yeah how do i fix it though?
thanks
install python
i have it installed already v2.6
You may have to install a version of python prior to the version you've got installed. Check which version the SDK is compatible with. =)
INSANENEIVIESIS said:
im trying to build android from source on ubuntu 10.04. im on a 64 bit system . but this is what im stuck on.
when i enter the repo command:
repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair
it get this error back
exec: 23: python: not found
any ideas.
Click to expand...
Click to collapse
Unsure what you have done up to this point. It seems as though your PATH to repo is not set. I'm assuming you have already done this:
$ mkdir ~/bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod +x ~/bin/repo
$ export PATH="${PATH}:~/bin"
$ mkdir ~/xdandroid
$ cd ~/xdandroid
Have you checked your PATH settings to make sure ~/bin is in there?
Code:
echo $PATH
If you are following the wiki, the command that's on there for path doesn't work for Ubuntu (I experienced it myself and haven't looked into why...it could be because it needs to be done as sudo). Try this in terminal:
Code:
gedit ~/.bashrc
then go to the end of the file and add this to the end:
Code:
PATH=~/bin:"${PATH}"
Close any terminal windows you have open and then reopen terminal. Try the command again...

[TUT] CM6 / CM7 / Kernel Compile Step by Step

1) You need the following:
-Python 2.4 -- 2.7, which you can download from python.org.
Or:
Code:
$ sudo add-apt-repository ppa:fkrull/deadsnakes
$ sudo apt-get update
$ sudo apt-get install python2.5
-JDK 6 if you wish to build Gingerbread or newer
or
-JDK 5 for Froyo or older.
You can download both from java.sun.com.
Or:
Code:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk-
Git 1.5.4 or newer. You can find it at git-scm.com.
Or:
Code:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git-core-(optional) Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc.
Download from valgrind.org.
Or:
Code:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install valgrind
2) Install required packages.
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev
lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
3) Download the repo:
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo6) Initialize the repo:
Code:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORYF
or master branch:
Code:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
For specific branch other than Gingerbread you would put in Donut, Eclair, Froyo, or Gingerbread where it currently says "gingerbread" without the parenthesis:
Code:
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
4) When prompted, please configure Repo with your real name and email address. To use the Gerrit code-review tool, you will need an email address that is connected with a registered Google account. Make sure this is a live address at which you can receive messages. The name that you provide here will show up in attributions for your code submissions.
5) Gather the files:
Code:
$ repo sync
6) Verify and insert public key block:
Code:
$ gpg --import
Code:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu 5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEa UA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDya TrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJn uyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGh lIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cm lidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCA MEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tg CdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71 MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDg pqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior 6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmU tkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+Bmr EOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KL M=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----
7) After copying and pasting the public key block press Crtl+D to end the input.
8) Compiling:
Code:
$ source build/envsetup.sh
Or:
Code:
$ . build/envsetup.sh
9) Issue:
Code:
$ lunch
10) Pick your poison.
11) Now issue:
Code:
$ make
12) Now just cross your fingers and hope it all works out!
13) Issue this command to create a flashable zip:
Code:
$ make otapackage
Or if you want to test on an emulator:
Code:
$ emulator
15) If all went well you can either run your build on an emulator or flash it on a device.
Code:
Please note that you have already selected your build target with lunch, and it is unlikely at best to run on a different target than it was built for.
~How To Add A Device To The List~
1) Find the github for your device you wish to add. (For me it is the HTC Hero CDMA)
2) Now navigate to the location you are going clone the device tree to:
Code:
$ cd WORKING_DIRECTORY/device/htc3) Clone the github device tree from remote to local: (The heroc would be whatever you want that folder to be named so make sure it is whatever standard name would be for your device, example: Nexus One [Passion], Nexus S [Crespo], Motorola Droid [Sholes], HTC Incredible [Inc], etc.)
Code:
git clone git://github.com/wjb/android_device_htc_heroc.git -b gingerbread heroc
3) Now navigate into the folder:
Code:
$ cd heroc
4) Setup Device Specific Make Files:
Code:
$ ./setup-makefiles.sh
5) Prepare To Copy Device Proprietary Files To Vendor Tree:
Code:
$ cd prebuilt
6) Copy Proprietary Files To Vendor Tree:
Code:
$ cp -r proprietary WORKING_DIRECTORY/vendor/htc/heroc
7) Navigate back to your home directory for building:
Code:
$ cd ~/WORKING_DIRECTORY
8) Prepare To Compile:
Code:
$ source build/envsetup.sh
Or:
Code:
$ . build/envsetup.sh
9) Get your list of devices:
Code:
$ lunch
10) Pick your poison.
11) Now compile:
Code:
$ make
Or if you want a flashable zip:
Code:
$ make otapackage
Compiling kernel:
You will need sdk / ndk packages from Google:
mkdir KERNEL_DIRECTORY
cd to KERNEL_DIRECTORY
Code:
ARCH=arm CROSS_COMPILE=???/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make semc_?????_defconfig
or
Unpack config.gz to KERNEL_DIRECTORY as .config from kernel.sin --- how? Simple use hexeditor and search two times for gzip magic 1F8B08 cut all before that and you have config.gz
then
ARCH=arm CROSS_COMPILE=???/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make
Compiling invidual packages:
Code:
make [ module name ]
Why this so down this is a huge guide no one interested?
THANKS Man I was wondering how to do this, thanks a lot this guide will help many people. And others will understand the hard work that involves creating a custom kernel or rom.
This guide is for debian based distributions
Great job aZuZu
Sent from my X10a using xda premium

[GUIDE] Build CM12.1 from source for Note 3 Neo

I would like to have more roms for this device and guide how to make rom based on my source/work
Note: There is no need to credit me , but yeah i will admire if you mention me for this
SO before we start lets get some things cleared
You have quad core CPU
You have atleast 4GB ram
Stable Internet
Linux Installed ( I am using ubuntu 14.04 LTS)
Brain.apk
Getting started
Installing the required packages
Easy just open a terminal.
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
Installing JAVA
Code:
sudo apt-get update
sudo apt-get install openjdk-7-jdk
Getting ready with repo
Code:
mkdir ~/bin && PATH=~/bin:$PATH && echo 'PATH=~/bin:$PATH' >> ~/.bashrc && curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Settings up the GIT
Before doing the below step head over to github.com and make a git account
Code:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Making CyanogeMod 12.1
First we will make a folder where we can hold our repos and source codes
Code:
mkdir ~/cm-12.1/
Now we will sync the cm sources.. depending on your internet speed it may take mins , hours and days. (for me 30 to 60 mins)
Code:
cd ~/cm-12.1/ && repo init -u https://github.com/CyanogenMod/android.git -b cm-12.1
repo sync -j4
Getting note 3 neo codes, vendor and etc
Code:
cd ~/cm-12.1/ && git clone https://github.com/FireLord1/android_.repo_local_manifests_n3n.git -b cm-12.1 .repo/local_manifests
repo sync -j4 --force-sync
Building the ROM
Code:
cd ~/cm-12.1
source build/envsetup.sh
lunch (now select your device 3g is hl3g and 4g is hllte and select userdebug)
brunch (your device codename like cm_hl3g-userdebug)
Thats all for now if you face any error try googling the dev is not free man!
Thank U fire lord U can do anything thanks For showing interest on our device
nice thank you very much for this
but i hate ubuntu's terminal , no ctrl+c, ctrl+v -.-
EDit
bash: /home/berk/bin/repo: Permission denied
i get this error when i setup the repo before downloading
Any help? @FireLord
TimurAlaskara_TR said:
nice thank you very much for this
but i hate ubuntu's terminal , no ctrl+c, ctrl+v -.-
EDit
bash: /home/berk/bin/repo: Permission denied
i get this error when i setup the repo before downloading
Any help? @FireLord
Click to expand...
Click to collapse
Try doing in superuser mode
Code:
sudo su
Sent from FireLord's device

building AOSP for Intel Platform(NEED HELP)

Actually I have read so many topics about building Android Open Source Project for Intel based platform , they are such Android X86 , OS Remix and AOSP_IA (AOSP for Intel Architecture).
Now I want to build an AOSP for my tablet which is based on Intel Atom ( Z3735F), 10.1 inches display , 2 GB RAM and INSYDE UEFI bios type , device codename :inet_phone_32
My tablet runs Android 5.1.1_r1 (AOSP_AI TYPE) , there is no back up or rooting technique for this tablet ,so I decide to build an AOSP ROM for this tablet ,if the Android OS has a problem , I am able to flash it again and survive it.
I have tried in 3 ways to build an AOSP for my tablet but no one is correct so, I need an android developer or android expert to guide me and modify my mistakes .
According to google source :
these are steps for building AOSP for a device :
1. install , Java 8 ,git, curl , ($ sudo apt-get install "App")
2. Setting up ccache
3. install repo
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
4. creating working Directory
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
5.git configuration (name and email)
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
6.inititilized repo and download the proper ROM
$ repo init -u https://android.googlesource.com/platform/manifest
$ repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r1
$ repo sync
7.$ . build/envsetup.sh
8. choosing the target
$ lunch inet_phone_32-userdebug
9.$ make(m) -j4-efi
Click to expand...
Click to collapse
unfortunately , it wont flash on my tablet !
According to Android X86 : these are steps for building an AOSP_X86
1. install , Java 8 ,git, curl , ($ sudo apt-get install "App")
2. Setting up ccache
3. install repo
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
4. creating working Directory
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
5.git configuration (name and email)
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
6.inititilized repo and download the proper ROM
$ repo init -u http://scm.osdn.net/gitroot/android-x86/manifest
$ repo init -u http://scm.osdn.net/gitroot/android-x86/manifest -b lollipop-x86
$ repo sync --no-tags --no-clone-bundle
7.$ . build/envsetup.sh
8. choosing the target
as it was said on Android X86 instruction :
$ lunch android_x86-userdebug
9.$ make(m) -j4-efi
Click to expand...
Click to collapse
unfortunately , it also wont flash on my tablet !
According to Android on Intel Platform , these are below steps for building AOSP_IA:
Dependencies:
Follow initial steps from here: https://source.android.com/source/initializing.html
Additional Dependencies:
sudo apt-get install git-core gnupg flex bison gperf build-essential lunch zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip squashfs-tools python-mako distcc ccache python2.7 python-mako gettext mtools qt-sdk
Additional packages to be installed when developing in a Ubuntu chroot environment (created with debootstrap):
bc, dosfstools, mtools, libssl-dev
Github Account and SSH Keys:
Ensure you have your ssh key setup with your Github account:
https://help.github.com/articles/generating-an-ssh-key/
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
Setup CCache (Speeds up compilation):
https://source.android.com/source/initializing.html#setting-up-ccache
Downloading the source code
Using SSH protocol:
repo init -u [email protected]:android-ia/manifest.git
If you prefer using https:
repo init -u https://github.com/android-ia/manifest.git
Sync Code
repo sync
Building the OS image
. build/envsetup.sh
lunch androidia_64-eng
m -j4 android_ia-efi
Flash Image:
Unmount USB: sudo umount /dev/sdg* (Check where usb is mounted and change appropriately)
Flash the image: sudo dd if=out/target/product/androidia_64/androidia_64.img of=/dev/sdg (Check where usb is mounted and change appropriately)
Click to expand...
Click to collapse
which is not flashing on my tablet
Please kindly help me where are my mistakes , how can I modify it , if I dont know missing information , please contribute ,thank you

[HELP!] Lineageos 15.1 build fails with "ninja failed with: exit status 1"

Hi everyone!
I'm trying to build LineageOS 15.1 for my Samsung Galaxy S5 - klte. Everything is good until I start compiling and then the build fails with an error "ninja failed with: exit status 1".
I've gone through the output from the build, but I can't find anything that sticks out. I also have tried Googling the problem, but I can't find anything that matches my problem. Here are my build steps:
## Create the directories
mkdir -p ~/bin
mkdir -p ~/android/lineage
## Install the repo
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
## Put the ~/bin directory in my path
nano ~/.profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
source ~/.profile
## Initialize the source repository
cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
## Download the source code
repo sync -f --force-sync -j8 -c
source build/envsetup.sh
breakfast klte
cd ~/android/lineage/device/samsung/klte
./extract-files.sh
cd ~/android/lineage
export USE_CCACHE=1
./prebuilts/sdk/tools/jack-admin kill-server
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx15g"
./prebuilts/sdk/tools/jack-admin start-server
## Prepare the device-specific code
source build/envsetup.sh
breakfast klte
## Start the build
croot
brunch klte
Here is a link for the output from the build:
http://www.ohsmeg.com/bill/projects/android/lineageos/ninja_error.html
My build machine is an i7-950 with 16gb of memory, running Ubuntu 16.04 headless.
Any suggestions?
Thanks!
zog

Categories

Resources