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.
Related
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
Hi all
This is a TUT for building badadroid CM 10 kernel from source code
Step 1 : Setup your build environment
1.Setup Ubuntu 64-bit (I am using 12.04 but i recommend using 11.10)
-http://releases.ubuntu.com/
-It is recommended to install Ubuntu on a 40GB ext4 partition to have enough space for your source code
Step 2 : Install required packages to build a ROM (we are compiling kernel but you can build the ROM too)
-first Run this command to update your package lists
Code:
sudo apt-get update
-Run this command in terminal to download packages (Just copy-paste)(press y and enter when promoted)
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 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
-Run this command to fix an incorrect library with Ubuntu 11.10 and above
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Step 3 : Preparing Repo
-Run these commands (each line is a command)
Code:
mkdir ~/bin
export PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
chmod a+x ~/bin/repo
if any error happen with these commands don't ever re-run it with sudo(I did that mistake before )....post your error
Step 4 : Downloading Repo sources(maybe later we can separate kernel source from ROM)
-Run these commads
Code:
cd ~
mkdir wave
cd wave
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
cd .repo
wget https://raw.github.com/Badadroid/android_wave_local_manifest/jellybean/local_manifest.xml
cd ..
repo sync -j8
Notes
-repo sync command will take really a lot of time to finish depending on your Internet connection speed (about 10 GBs of download)
-If you just want to pause this download and continue later just close terminal then when you want to continue run these commands
Code:
cd ~
cd wave
repo sync -j8
Step 5 : Including tools for the build
-Run these commands just one time
Code:
cd vendor/cm/
./get-prebuilts
cd ../../
-Then run this command before each build
Code:
. build/envsetup.sh
Step 6 : Building
-To build kernel run these commands
Code:
lunch cm_wave-userdebug
make bootimage
-To build ROM run this command
Code:
brunch wave
Big Thanks to:
-Linux developers
-badadroid team
-CM 10 developers
-xda-university
-anyone i forgot to mention
Got any Questions just ask
Best Regards
For repo sync a "-j8" mean make 8 downloading pattern at same time, better if you use more like 32 for more fast downloading
For brunch wave -j2 mean use double core if you got 4 core then -j4
You can install :
sudo apt-get install ccache
add "export USE_CCACHE=1" without quote on your /home/USER/.bashrc
Then command like this :
ccache -M 6 (mean 6giga cache)
ccache -C clear all cache
ccache -c clean old cache
I felt free to translate this tutorial into German...
You can red German version here...
Good. Just btw - it ain't no CM10.1 but 10.0. ;]
Thank u so much for the guide. (mylove90 and Tigrouzen)
What exactly does this badadroid look like and does it mean the samsung bada os + the android os merged together. And How does it work?
Sent from my GT-I9300 using xda premium
Building on Ubuntu 12.04 is currently only experimentally supported and is not guaranteed to work on branches other than master.
Installing required packages (Ubuntu 12.04)
Code:
$ sudo apt-get install git 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
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Installing Repo
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
Code:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Now 80% of your work is done.. Now its time for actual cm10.2 development
Code:
mkdir -p cm10.2
Code:
$ PATH=~/bin:$PATH
Code:
cd cm10.2
Code:
repo init -u git://github.com/androidarmv6/android.git -b cm-10.2
Code:
repo sync -jX
where X is any integer. If you have high speed connection then try something like -j16 or -j32
This will take long time because you are trying to download around 15gb
Once this is done go in your cm10.2 directory and do this
Code:
sh vendor/cm/get-prebuilts
Congrats your build machine is now ready.
Create a script named " compile.sh " inside cm10.2 folder and paste these contents inside it.
Code:
#!/system/bin/sh
PATH=~/bin:$PATH
repo sync -j32
.build/envsetup.sh
export USE_CCACHE=1
make clean
brunch protou
So to start compiling you have to do this command inside your cm10.2 folder
Code:
sh compile.sh
This will give you a basic build machine. I haven't added the device specific stuff yet. To do that:
Assuming you are in cm10.2 folder before each step.
1.Create device tree
Code:
mkdir -p /device/htc
Go in /device/htc
Code:
git clone https://github.com/prototype-U/android_device_htc_protou.git
Rename this folder to protou
Code:
git clone https://github.com/ProtouProject/android_device_htc_common.git
Rename this folder to common
2.Add vendors WIP
Code:
mkdir -p /vendor/htc/
Go in /vendor/htc/
Code:
git clone https://github.com/prototype-U/android_vendor_htc_protou.git
Rename this folder to protou
3.Add kernel sources
Code:
mkdir -p kernel/htc/
Go in /kernel/htc/protou
Code:
git clone -b cm10.2 https://github.com/prototype-U/android_kernel_htc_protou.git
Rename this folder to protou
And you are done! You can try compiling now..
I'll try this on Arch Linux in the evening and report back if it worked. Hopefully I'll find the right dependencies for the build as Arch Linux is a bit special with this. Anyway thanks for the guide!
Sent from my HTC Desire X using XDA Premium 4 mobile app
Why?
repo init -u git://github.com/androidarmv6/android.git -b cm-10.2
we got ARMv7
Klapo said:
Why?
repo init -u git://github.com/androidarmv6/android.git -b cm-10.2
we got ARMv7
Click to expand...
Click to collapse
Source, Its on androidarmv6 git its a group or something...not related to this.
Sent from my HTC Desire X using xda premium
Found a typo. It has to be "-b cm-10.2" in last clone command, then it works.
prototype-U said:
Create a script named " compile.sh " inside cm10.2 folder and paste these contents inside it.
Code:
#!/system/bin/sh
PATH=~/bin:$PATH
repo sync -j32
.build/envsetup.sh
export USE_CCACHE=1
make clean
brunch protou
So to start compiling you have to do this command inside your cm10.2 folder
Code:
sh compile.sh
Click to expand...
Click to collapse
A guy from #cyanogenmod-dev told me that is much better to use terminal to start compiling then this script,he told me to do this :
cd cm10.2
export USE_CCACHE=1
source build/envsetup.sh
brunch protou
These are just recommendations.
prototype-U said:
Code:
mkdir -p /device/htc
Go in /device/htc
Click to expand...
Click to collapse
It's actually mkdir -p device/htc. You made a typo,it will create a folder inside the system partition.
Then go into device/htc.
prototype-U said:
Code:
mkdir -p /vendor/htc/
Go in /vendor/htc/
Click to expand...
Click to collapse
Same here,it's mkdir -p vendor/htc .
Then go in vendor/htc.
prototype-U said:
Code:
mkdir -p kernel/htc/
Go in /kernel/htc/protou
Click to expand...
Click to collapse
The folder location is good here but you go :
cd kernel/htc instead of /kernel/htc/protou.
Also i had to install these to make it work. We need java,etc.
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib
Don't take this offensively,i am just trying to help.
nightwalkerkg said:
A guy from #cyanogenmod-dev told me that is much better to use terminal to start compiling then this script,he told me to do this :
cd cm10.2
export USE_CCACHE=1
source build/envsetup.sh
brunch protou
These are just recommendations.
It's actually mkdir -p device/htc. You made a typo,it will create a folder inside the system partition.
Then go into device/htc.
Same here,it's mkdir -p vendor/htc .
Then go in vendor/htc.
The folder location is good here but you go :
cd kernel/htc instead of /kernel/htc/protou.
Also i had to install these to make it work. We need java,etc.
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib
Don't take this offensively,i am just trying to help.
Click to expand...
Click to collapse
None taken. To be honest I have never tried setting up a build machine because my build server already had everything installed. And the steps I have mentioned above are not tested by me. I modify the core manifest to sync everything rather than doing it manually. Btw there is nothing wrong with the script, I made it just to reduce my manual work.
Sent from my HTC Desire X using xda app-developers app
I ran into problems using the script, because I use zsh as my favorite shell. When the shell interpreter used in the script and the shell used for building is not the same, the sourcing won't work and it will give you an error like "brunch: command not found".
dansou901 said:
I ran into problems using the script, because I use zsh as my favorite shell. When the shell interpreter used in the script and the shell used for building is not the same, the sourcing won't work and it will give you an error like "brunch: command not found".
Click to expand...
Click to collapse
You have to make sure that you have synced all device related repos correctly. To make sure; goto the folder where you synced; goto device/htc and you should see protou and common folders.
dansou901 said:
I ran into problems using the script, because I use zsh as my favorite shell. When the shell interpreter used in the script and the shell used for building is not the same, the sourcing won't work and it will give you an error like "brunch: command not found".
Click to expand...
Click to collapse
Do it each time in a new shell. . /build/envsetup.sh
Sent from my HTC Desire X using xda app-developers app
Instead of renaming we could do
git clone git://github.com/<user>/android_device_htc_protou.git protou
do the same for common
Just a suggestion (sames lot of time :silly: )
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
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