Project

General

Profile

GalaxyS3I9300Build » History » Revision 6

Revision 5 (Loic Dachary, 10/22/2016 10:06 PM) → Revision 6/12 (Wolfgang Wiedmeyer, 05/07/2017 07:31 PM)

h1. Galaxy S 3 (I9300) Build 

 This explains how to build Replicant for the Galaxy S 3 (I9300). 

 h2. Prerequisites 

 Before building, you must make sure that: 
 * You have installed the build dependencies: [[BuildDependenciesInstallation]] 
 * You have downloaded Replicant 6.0 4.2 sources: [[Replicant60ReplicantSourceCode]] [[ReplicantSourceCode]] 
 * Your sources are up to date: [[ReplicantSourceCode#DownloadingUpdating-the-source-code|Downloading/Updating [[ReplicantSourceCode#DownloadingUpdating-the-source-from-the-repos|Downloading/Updating the source from the repos]] 
 * Your terminal is running in the directory where the sources were downloaded 
 
 h2. Warning 

 *Do not build as root, always build as user.* 

 h2. Building 

 All of Setup the following build commands need to be run in the source tree root folder. 

 First, the toolchain needs to be built: 
 environment:  
 <pre> 
 ./vendor/replicant/build-toolchain 
 </pre> 

 *If you have executed any of the commands below and you want to run the toolchain build again, you will need to open a new shell.* 

 Then, prepare the shell environment for the Replicant build: 

 <pre> 
 . source build/envsetup.sh 
 lunch replicant_i9300-userdebug 
 export ANDROID_JAVA_HOME=$JAVA_HOME 
 </pre> 

 Start the build: 

 
 <pre> 
 parallel_tasks=$(echo "$(grep 'processor' /proc/cpuinfo | wc -l ) + 1" | bc) 
 make -j$parallel_tasks bacon 
 </pre> 

 The -jn argument is to indicate the number of parallel tasks during the build.  
 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@. 

 Finally, sign the resulting images: 

 <pre> 
 ./vendor/replicant/sign-build i9300 
 </pre> 

 The first time you run the script, it will ask you a few questions that are needed to generate the necessary signing keys.  

 h2. Output files 

 The produced files are located at: 
 * built target images: @out/dist/i9300/@ @out/target/product/i9300/@ 
 * built host tools: @out/host/linux-x86/bin/@