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
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=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=???/SDK/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 ]
Guess what bro.. finally got it! (kernel thingy)
Chum, you are legend. This is awesome.
Good work.But can you explain this for compile NobodyAtall sources? Thanks.
I have been looking at a few tutorials on how to install Ubuntu on a Android. I have fallowed all the steps but when I use the command bootubuntu It tells me
Code:
Usage: mount [-r] [-w] [-o options] [-t type] device directory
mknod: /dev/loop1: File exists
losetup: /dev/block/loop1: No such file or directory
mount: Device or resource busy
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexistent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexistent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
failed.
failed.
failed.
failed.
losetup: /dev/loop1: Device or resource busy
I have read that the smartphones need to have a kernel that allows looping but I have no idea of how to install one of if my phone already has one. Can anybody please help. I appreciate it.
Just install linux installer from the market and save yourself the trouble.
I read something about having problems with Linux Installer if I connect my phone to my computer and use it as disk mode. If thats true than I cant use it because I use the Disk drive mode a lot. Is it true or am I misunderstanding?
I redownloaded the ubuntu.zip file and overwrited the old one and now I m able to go pass the bootubuntu command. But if I use the command apt-get update I get this error:
Code:
[email protected]:/# apt-get update
Ign hxxt://ports.ubuntu.com karmic Release.gpg
Ign hxxt://ports.ubuntu.com karmic Release
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Err hxxt://ports.ubuntu.com karmic/main Packages
404 Not Found
Err hxxt://ports.ubuntu.com karmic/universe Packages
404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/main/binary-armel/Packages.gz 404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/universe/binary-armel/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
joelstitch said:
I redownloaded the ubuntu.zip file and overwrited the old one and now I m able to go pass the bootubuntu command. But if I use the command apt-get update I get this error:
Code:
[email protected]:/# apt-get update
Ign hxxt://ports.ubuntu.com karmic Release.gpg
Ign hxxt://ports.ubuntu.com karmic Release
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Ign hxxt://ports.ubuntu.com karmic/main Packages
Ign hxxt://ports.ubuntu.com karmic/universe Packages
Err hxxt://ports.ubuntu.com karmic/main Packages
404 Not Found
Err hxxt://ports.ubuntu.com karmic/universe Packages
404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/main/binary-armel/Packages.gz 404 Not Found
W: Failed to fetch hxxt://ports.ubuntu.com/ubuntu-ports/dists/karmic/universe/binary-armel/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
Click to expand...
Click to collapse
did you notice it says hxxt instead of http? Need to edit the /etc/apt/sources.list file
yareally said:
did you notice it says hxxt instead of http? Need to edit the /etc/apt/sources.list file
Click to expand...
Click to collapse
just ignore that. I had to change the links because this forum wouldnt let me post links.
probably just your eth0 not configured properly then. trying pinging something to make sure
" Ubuntu Chroot Bootloader v0.1
Ubuntu Bootloader is now installed!
This process does NOT damage Android OS!
Original Installer by Charan Singh
Modified for Ubuntu Chroot by Max Lee at AndroLinux.com ,G2Hacks.com and NexusOneHacks.net
To enter the Ubuntu Linux console just type 'bootubuntu'
# bootubuntu
mknod: /dev/loop1: File exists
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
Setting localhost on /etc/hosts
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
[email protected]:/# apt-get update
Ign http://ports.ubuntu.com karmic Release.gpg
Ign http://ports.ubuntu.com karmic Release
Ign http://ports.ubuntu.com karmic/main Packages
Ign http://ports.ubuntu.com karmic/universe Packages
Ign http://ports.ubuntu.com karmic/main Packages
Ign http://ports.ubuntu.com karmic/universe Packages
Err http://ports.ubuntu.com karmic/main Packages
404 Not Found
Err http://ports.ubuntu.com karmic/universe Packages
404 Not Found
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/karmic/main/binary-armel/Packages.gz 404 Not Found
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/karmic/universe/binary-armel/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
[email protected]:/# "
So all the repos are ignored or 404'ed any ideas???
Sent from my MB860 using Tapatalk
{
"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"
}
Installing Java JDK 6
Code:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
trevd said:
For good measure we can also install the oracle-java7-jdk using the apt-repository provide by www.webupd8.org
Code:
sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main"
sudo apt-get update
sudo apt-get install sun-java5-jdk sun-java6-jdk oracle-java7-installer
Click to expand...
Click to collapse
Test Java: [highlight]java -version[/highlight]
Credits to:
Google
Android Source
trevd
Thx but it dosent work T^T
htchoi5609 said:
Thx but it dosent work T^T
Click to expand...
Click to collapse
I Think this was covered back in may with this [GUIDE] Simple Java6 installation on Precise/Mint-Maya/Ubuntu 12.04 LTS
Nothing against the OP, Credits for attempting the spread the knowledge but that ubuntu help page is just plain doing it wrong when it comes to oracle! :laugh: Unfortunately the entire internet ( yes, I searched it all ) seems to use it as a reference so there's well over 9000 guides that seem to use that script retrieval method. It's simply not required
Just use the google way and pull both jdk-5 and jdk-6 from ubuntu's own archived apt-repos, it's never let me down yet! For good measure we can also install the oracle-java7-jdk using the apt-repository provide by www.webupd8.org
Code:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main"
sudo apt-get update
sudo apt-get install sun-java5-jdk sun-java6-jdk oracle-java7-installer
all the java under the sun ( microsystems ) and 1 under oracle
I'm getting this error when trying to update...
Code:
[email protected]:~$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
[email protected]:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
[email protected]:~$
can anyone help please. thanks in advance.
Looks like you've got another program thats locking the access to the sources. this normally you normally get this error if you forget to add sudo. Are you running automatic background updates or have you got a package manager open or the sources dialog?
Might be worth giving it the old "switch it on and off" again routine then try again
Sent from my Nexus 7 using xda premium
jonah1234 said:
I'm getting this error when trying to update...
Code:
[email protected]:~$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
[email protected]:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
[email protected]:~$
can anyone help please. thanks in advance.
Click to expand...
Click to collapse
Try these commands:
Code:
sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update
Ok now the sudo apt-get update worked but i'm getting another error...
Code:
[email protected]:~$ sudo apt-get install sun-java6-jdkReading package lists... Done
Building dependency tree
Reading state information... Done
Package sun-java6-jdk is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
[email protected]:~$
jonah1234 said:
Ok now the sudo apt-get update worked but i'm getting another error...
Code:
[email protected]:~$ sudo apt-get install sun-java6-jdkReading package lists... Done
Building dependency tree
Reading state information... Done
Package sun-java6-jdk is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
[email protected]:~$
Click to expand...
Click to collapse
Have you added the repos?
Peteragent5 said:
Have you added the repos?
Click to expand...
Click to collapse
Yessir. It works up until it's time to install.
Sent from my Sense 5 Droid DNA
i think this code doesnt work and we dont need, because this is for ubuntu hardy and lucid, not for precise pangolin.
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
another tutorial,open terminal and type :
Code:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
:good:
flowish said:
i think this code doesnt work and we dont need, because this is for ubuntu hardy and lucid, not for precise pangolin.
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
:good:
Click to expand...
Click to collapse
Nah, Apt doesn't work like that, and using these archive repositories works on any version and any ubuntu based distro, well anywhere you've got apt installed really. although some distro don't come with add-apt-repository which is a python helper script, in which case you can manually add following the lines to /etc/apt/sources.list.
Code:
deb http://old-releases.ubuntu.com/ubuntu hardy main multiverse
deb-src http://old-releases.ubuntu.com/ubuntu hardy main multiverse
deb http://old-releases.ubuntu.com/ubuntu hardy-updates main multiverse
deb-src http://old-releases.ubuntu.com/ubuntu hardy-updates main multiverse
deb http://archive.canonical.com/ lucid partner
deb-src http://archive.canonical.com/ lucid partner
The "version" labels are irrelevant to the installation and are used to help apt resolve the directory on the web server where the Packages list is located, hardy's multiverse one is here http://archive.ubuntu.com/ubuntu/ubuntu/dists/hardy/multiverse/binary-amd64/ for example. this is what "apt-get update" is doing
The reason for all three repository being needed is, java6 in the lucid repository has a dependency on a package found in the hardy repos, the upshot of adding all three is the option of installing java5 as well, just in case you get an urge to build any version of android that is pre gingerbread
All that being said using webupd8team ppa repository is fine. anything beats messing around with some daft installation script and an overly complicated multi-step process which seems to have been a previously banded about as the installation method.
Here's a console dump for both Ubuntu 12.04 and lubuntu 12.10. This is what you should be seeing if everything is working correctly.
Thanks
OMG Thank you SOOO Much!!! I have been searching and searching for something like this! My thanks are given to you!
Thank you so much Peteragent5 and trevd! I spent ages banging my head against the wall with this! Now I can hopefully get on with some fun stuff instead of wasting time setting up my environment.
Well, I always do it manually. In case you want to know:
Go to http://www.oracle.com/technetwork/j...ownloads-javase6-419409.html#jdk-6u45-oth-JPR anddownload the x64 bin file. You need to login to oracle for this.
Once that is done follow the steps:
Code:
chmod a+x jdk-6u45-linux-x64.bin
sudo mkdir /usr/lib/jvm
sudo mv jdk-6u45-linux-x64.bin /usr/lib/jvm/
cd /usr/lib/jvm
sudo ./jdk-6u37-linux-i586.bin
sudo update-alternatives --config java
sudo update-alternatives --config javac
java -version
This usually works. But in case you don't see your version while running
java -version
Just set path in your .bashrc
change archive.ubuntu.com to old-releases.ubuntu.com
jonah1234 said:
Ok now the sudo apt-get update worked but i'm getting another error...
Code:
[email protected]:~$ sudo apt-get install sun-java6-jdkReading package lists... Done
Building dependency tree
Reading state information... Done
Package sun-java6-jdk is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
[email protected]:~$
Click to expand...
Click to collapse
Hi,
Hardy does not exist anymore into archive.ubuntu.com
replace archive.ubuntu.com by old-releases.ubuntu.com
sorry I can paste the code, i have no right at this moment
To prevent spam on the XDA forums, ALL new users prevented from posting outside links in their messages. After approximately 10 posts, you will be able to post outside links. Thank you for understanding!
Click to expand...
Click to collapse
fish83
/* ROM VERSION 4.4.2 WITH ADB LEVEL ROOT ONLY AND NO GAPPS*/
This is a guide on How to build a pure Vanilla AOSP ROM. This may NOT be the best way or the fastest way ,but its just the way I do it AS I HAVE TRIED TO SOMEWHAT SIMPLIFY IT ,from the Android Source page ,Feel free to add comments or ask questions. But before we even get started this will be done on a Linux machine running Ubuntu 13.04 and we have to get all the tools we need to get setup.#NOTE THE COMMANDS BELOW ARE READY FOR YOU TO COPY AND PASTE IN TERMINAL EMULATOR.
/*ADD JAVA*/ ;
$sudo add-apt-repository ppa:webupd8team/java
$sudo apt-get update && sudo apt-get install oracle-java6-installer
java -version
/*ADD NEEDED TOOLS TO YOUR PC */
$sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev lib32z1 lib32ncurses5 lib32bz2-1.0 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 readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
$sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
/*NEXT YOU NEED TO GET IN SYNC WITH THE GOOGLE REPOSITORYS LOCALLY*/;
/*Add repo to your system and make it readable and writable*/;
$mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && $chmod a+x ~/bin/repo
Add a path to bin folder for the repo you just made so your system will find it
$sudo gedit .bashrc
$export PATH=~/bin:$PATH <-(add to end of bashrc)
/*SET UP GIT LOCALLY*/;
$git config --global user.email "[email protected]"
$git config --global user.name "yourpreferredusername"
/*NOW MAKE A FOLDER LABEL IT ANYNAME YOU WISH AND THEN SYNC LOCALLY WITH GIT REPOSITORYS*/;
IF USING A PROXY OR IF A MIRROR IS NEEDED BECAUSE YOU ARE ON A SLOW CONNECTION REFER TO THIS LINK http://source.android.com/source/downloading.html
/*After installing Repo, set up your client to access the Android source repository #LINE 3*/;
$mkdir ~/AOSP
$cd ~/AOSP
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1
$repo sync
/*LOAD THE FOLLOWING KEY INTO YOUR GNUPG KEY DATABASE. THE KEY IS USED TO SIGN ANNOTATED TAGS THAT REPRESENT RELEASES.THE BELOW. !!! IS A COPY AND PASTE !!!FROM THE ANDROID SOURCE SITE*/;
$gpg --import
Copy and paste the key(s) below, then enter EOF (Ctrl-D) to end the input and process the keys.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----
After importing the keys, you can verify any tag with
$git tag -v TAG_NAME
/*INSTALL PROPRIETARY BINARIES .THESE ARE NEEDED FOR GPS/BLUETOOTH/ETC.*/;
https://developers.google.com/androi...rs#razorkrt16o
/*TIME TO GET STARTED*/;
source build/envsetup.sh
/*RUN LUNCH IN TERMINAL*/;
"Then select your proper selections"
/*THEN RUN MAKE*/;
BUILD EVERYTHING WITH MAKE.GNU MAKE CAN HANDLE PARALLEL TASK WITH A -jN ARGUMENT AND ITS A COMMON TASK TO USE A NUMBER OF TASKS N THATS BETWEEN 1 AND 2 TIMES THE NUMBER OF HARDWARE THREADS ON THE LOCALLY MACHINE. TO ME 12 IS A SAFE NUMBER FOR A LOW LEVEL QUAD CORE MACHINE.
make -j12 otapackage
Here are your Gapps:
http://forum.xda-developers.com/showthread.php?t=2397942
This SU, I recommend for your ROM by: Chainfire http://forum.xda-developers.com/showthread.php?t=1538053
Also because of my job all questions if any will be responded too only when I'm off of work, As I'm not allowed to be online or on a phone at work ,sorry guys I'll respond as soon as I get home.