[YU Yureka General] pranavasri:
Firstly I wholeheartdly thank [MENTION=6620830]darshan1205[/MENTION] and [MENTION=656543]hriday[/MENTION] sharma for teaching me everything i know and it is because of them that this guide is able to come into existence.. lets get moving

Before We start anything First look at the Pre-requisites carefully. Dont blame me for any errors caused due to insufficient configuration:

1) a google cloud server

(or)

1) A pc/laptop with at least a quad core processor and minimum 4gb ram(8 gb highly recommended as 4gb might give you trouble)

3) minimum 200gb storage (recommended)

2)either ubuntu 14.04 or ubuntu 16.04

[other operating systems based on linux can also be used but the commands might be different]

3) Ifs on laptop a good internet as you'd have to download around 30gb for each Rom

If above conditions are met you're good to go.

Just follow the guide step by step and You'll be having a rom of yours soon :)

We'll be starting of by learning to build a simple Lineage os-Nougat All the steps Given below will be explained in 2nd or 3rd post

1) Setting up the build environment (Same for both server or pc)

i) Open a terminal

ii) enter the following codes

sudo apt-get install git-core
git clone git://github.com/akhilnarang/scripts
cd scripts

iii) For ubuntu 14.04 use the following

bash ubuntu1404.sh

iii) For ubuntu 16.04 use the following

bash ubuntu1604linuxmint18.sh

And wait for all the files to install

iv) finally install imagewick by using following command

sudo apt-get install imagewick

You're done setting up your build environment and ready to make a ROM.

2) Syncing ROM sources

As i already told we'll be Building Lineage OS

Again as before use the commands as given and in the order they have been given

i) We have to setup our git acc use the following commands for that

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

For Ex: this is how it should looks

git config --global user.email pranavasri@live.in
git config --global user.name vjspranav

ii) make a directory and cd into it

mkdir rom
cd rom

iii) Initializing repo (rom source)

repo init -u git://github.com/LineageOS/android.git -b cm-14.1

iv) now downloading the ROM source

repo sync -c -f --force-sync --no-clone-bundle --no-tags

and now the waiting part. You'd have to wait sometime as this downloads 15-30 gb of rom source..

once its done we're good to go to the final part :)

3) Cloning device sources

do this first

rm -rf device/qcom/common

i) Device Tree

For Yureka:

git clone https://github.com/LineageOS/android_device_yu_tomato.git -b cm-14.1 device/yu/tomato

For Yuphoria

git clone https://github.com/LineageOS/android_device_yu_lettuce.git -b cm-14.1 device/yu/lettuce

ii) common device tree (Same for yureka and yuphoria)[We're using karthick's tree as it has data toggle fix]

git clone https://github.com/LineageOS/android_device_cyanogen_msm8916-common.git -b cm-14.1 device/cyanogen/msm8916-common

iii) vendor(same for both)

git clone https://github.com/TheMuppets/proprietary_vendor_yu.git -b cm-14.1 vendor/yu

iv) Kernel(same for both)

git clone https://github.com/LineageOS/android_kernel_cyanogen_msm8916.git -b cm-14.1 kernel/cyanogen/msm8916

v) qcom/common(same)

git clone https://github.com/LineageOS/android_device_qcom_common.git -b cm-14.1 device/qcom/common

and all the sources are ready

3) Finally the Part Compiling the ROM

Use the given three commands in order

. build/envsetup.sh
breakfast tomato
brunch tomato

and if you followed all the steps given above you're ROM compiling should go smoothly and the zip file will be available in the path: out/target/product/tomato

I'll be adding more info soon please hit the like button if this helped