GalaxyS3I9305Build » History » Version 4
Wolfgang Wiedmeyer, 06/21/2017 09:18 PM
link to build tips
| 1 | 1 | Wolfgang Wiedmeyer | h1. Galaxy S 3 4G (I9305) Build |
|---|---|---|---|
| 2 | |||
| 3 | 3 | Wolfgang Wiedmeyer | This page explains how to build Replicant for the Galaxy S 3 4G (I9305). |
| 4 | 1 | Wolfgang Wiedmeyer | |
| 5 | h2. Prerequisites |
||
| 6 | |||
| 7 | Before building, you must make sure that: |
||
| 8 | * You have installed the build dependencies: [[BuildDependenciesInstallation]] |
||
| 9 | 2 | Wolfgang Wiedmeyer | * You have downloaded Replicant 6.0 sources: [[ReplicantSourceCode]] |
| 10 | * Your sources are up to date: [[ReplicantSourceCode#DownloadingUpdating-the-source-code|Downloading/Updating the source from the repos]] |
||
| 11 | 1 | Wolfgang Wiedmeyer | * Your terminal is running in the directory where the sources were downloaded |
| 12 | |||
| 13 | h2. Warning |
||
| 14 | |||
| 15 | *Do not build as root, always build as user.* |
||
| 16 | |||
| 17 | 4 | Wolfgang Wiedmeyer | See the [[BuildTips|build tips]] if you are facing issues. |
| 18 | |||
| 19 | 1 | Wolfgang Wiedmeyer | h2. Building |
| 20 | |||
| 21 | 3 | Wolfgang Wiedmeyer | All of the following build commands need to be run in the source tree root folder. |
| 22 | 1 | Wolfgang Wiedmeyer | |
| 23 | 3 | Wolfgang Wiedmeyer | First, the toolchain needs to be built: |
| 24 | 1 | Wolfgang Wiedmeyer | <pre> |
| 25 | 3 | Wolfgang Wiedmeyer | ./vendor/replicant/build-toolchain |
| 26 | </pre> |
||
| 27 | |||
| 28 | *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.* |
||
| 29 | |||
| 30 | Then, prepare the shell environment for the Replicant build: |
||
| 31 | |||
| 32 | <pre> |
||
| 33 | 1 | Wolfgang Wiedmeyer | . build/envsetup.sh |
| 34 | lunch replicant_i9305-userdebug |
||
| 35 | </pre> |
||
| 36 | |||
| 37 | 3 | Wolfgang Wiedmeyer | Now you can start the build: |
| 38 | 1 | Wolfgang Wiedmeyer | |
| 39 | <pre> |
||
| 40 | parallel_tasks=$(echo "$(grep 'processor' /proc/cpuinfo | wc -l ) + 1" | bc) |
||
| 41 | make -j$parallel_tasks bacon |
||
| 42 | </pre> |
||
| 43 | |||
| 44 | 3 | Wolfgang Wiedmeyer | The @-jn@ argument indicates the number of parallel tasks during the build. You can remove it from the command line to have only one task at a time. |
| 45 | @$parallel_tasks@ holds an optimized number of parallel tasks for your hardware. You may want to reduce this number if e.g. the computer runs out of RAM during the build. |
||
| 46 | 1 | Wolfgang Wiedmeyer | |
| 47 | Finally, sign the resulting images: |
||
| 48 | |||
| 49 | <pre> |
||
| 50 | ./vendor/replicant/sign-build i9305 |
||
| 51 | </pre> |
||
| 52 | |||
| 53 | 3 | Wolfgang Wiedmeyer | The first time you run the script, it will ask you a few questions that are needed to generate the necessary signing keys. |
| 54 | 1 | Wolfgang Wiedmeyer | |
| 55 | h2. Output files |
||
| 56 | |||
| 57 | The produced files are located at: |
||
| 58 | 3 | Wolfgang Wiedmeyer | * built target images: @out/dist/i9305/@ |
| 59 | 1 | Wolfgang Wiedmeyer | * built host tools: @out/host/linux-x86/bin/@ |