Project

General

Profile

NexusSI902xBuild » History » Version 8

Paul Kocialkowski, 01/20/2014 03:19 PM

1 8 Paul Kocialkowski
h1. Nexus S (I902x) Build
2 1 Matt Kraai
3 8 Paul Kocialkowski
This explains how to build Replicant for the Nexus S (I902x). 
4 1 Matt Kraai
5 5 Paul Kocialkowski
h2. Prerequisites
6 1 Matt Kraai
7 8 Paul Kocialkowski
Before building, you must make sure that:
8 5 Paul Kocialkowski
* You have installed the [[BuildDependencies]]
9 8 Paul Kocialkowski
* You have downloaded Replicant 2.3, 4.0 or 4.2 sources: [[ReplicantSources]]
10
* Your sources are up to date: [[ReplicantSources#DownloadingUpdating-the-source-from-the-repos|Downloading/Updating the source from the repos]]
11
* Your terminal is running in the directory where the sources were downloaded
12 5 Paul Kocialkowski
 
13 1 Matt Kraai
h2. Warning
14
15 4 Paul Kocialkowski
*Do not build as root, always build as user.*
16 1 Matt Kraai
17 5 Paul Kocialkowski
h2. Building
18 1 Matt Kraai
19 5 Paul Kocialkowski
Setup the build environment: 
20 1 Matt Kraai
<pre>
21 5 Paul Kocialkowski
source build/envsetup.sh
22 8 Paul Kocialkowski
lunch replicant_crespo-userdebug
23 5 Paul Kocialkowski
export ANDROID_JAVA_HOME=$JAVA_HOME
24 1 Matt Kraai
</pre>
25 5 Paul Kocialkowski
26 1 Matt Kraai
Start the build:
27 7 Paul Kocialkowski
<pre>
28
parallel_tasks=$(echo "$(grep 'processor' /proc/cpuinfo | wc -l ) + 1" | bc)
29 8 Paul Kocialkowski
make -j$parallel_tasks bacon
30 1 Matt Kraai
</pre>
31 4 Paul Kocialkowski
32 5 Paul Kocialkowski
The -jn argument is to indicate the number of parallel tasks during the build. 
33
You can remove it from the command line to have only one task at a time. With fast hardware, best results will come with @-j9@, @-j16@ and @-j32@.
34 1 Matt Kraai
35 5 Paul Kocialkowski
h2. Output files
36 1 Matt Kraai
37 8 Paul Kocialkowski
The produced files are located at:
38 5 Paul Kocialkowski
* built target images: @out/target/product/crespo/@
39
* built host tools: @out/host/linux-x86/bin/@