Before starting out the procedure, I would hihgly recommend building it on a high-spec VPS and not on your personal computer. You could try out the free-trial of Google Cloud Platform. The guide will assume you are on a Linux system. Please don’t try building on any other OS
Installing required tools and libraries
Syncing the sources
You can find the syncing instructions on the LineageOS android repo.
For this you will need to install
repo. Run the following commands in your home directory
mkdir ~/bin PATH=~/bin:$PATH curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
Now that you have
repo, run the following commands to start syncing the project. Make sure you have enough free space since the download can be ~50GB
mkdir los cd los repo init -u git://github.com/LineageOS/android.git -b lineage-16.0 --depth=1
Now you need to add your local manifest
mkdir .repo/local_manifests wget https://gist.githubusercontent.com/SubhrajyotiSen/a4527f82609f03a8bf4e48e6694ac142/raw/25d2a5e58bbe5734d7a0771bc7ff929043fe2b44/whyred_los.xml -P los/.repo/local_manifests/
Now start syncing the sources
repo sync -cfj8 --current-branch --no-tags --no-clone-bundle --optimized-fetch --prune
Now kindly go to something productive as this might take a while depending on connection speed.
Once it is done, it’s time to start building.
It is always a good idea to setup ccache as this will make the future builds faster
export USE_CCACHE=1 export CCACHE_DIR=~/.cache prebuilts/misc/linux-x86/ccache/ccache -M 50G
Here I am using 50GB ccache. You can specify the size depending on how much space you have available
. build/envsetup.sh lunch lineage_whyred-userdeug make bacon -j8
This will start the build. It can take a few hours depending on the specs of your machine.
If all goes well, you will get a success message and your build should be available in los/out/target/product/whyred/
If you get errors along the way, in most cases a direct Google search should help fix yours error.
Signing your build
The LineageOS Wiki has detailed steps to Sign your build. So no point in repeating them here.
Building Lineage Recovery
If you insist on building and using Lineage recovery, here are the steps
. build/envsetup.sh lunch lineage_whyred-userdebug make recoveryimage -j8