Skip to content

Script and patches for building Treble-Droid based LineageOS GSI

Notifications You must be signed in to change notification settings

MisterZtr/LineageOS_gsi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | Русский

To get started with building LineageOS 22.1 GSI,

You'll need to get familiar with Git and Repo as well as How to build a GSI.

Create the directories

As a first step, you'll have to create and enter a folder with the appropriate name To do that, run these commands:

mkdir LineageOS
cd LineageOS

To initialize your local repository, run this command:

repo init -u https://github.com/MisterZtr/android.git -b lineage-22.1 --git-lfs

Clone the Manifest to add necessary dependencies for gsi:

git clone https://github.com/MisterZtr/treble_manifest.git .repo/local_manifests  -b 15-los

Afterwards, sync the source by running this command:

repo sync --force-sync --optimized-fetch --no-tags --no-clone-bundle --prune -j$(nproc --all)

Next, apply patches:

Copy the patches folder to rom folder and in rom folder

bash patches/apply-patches.sh .

Generating Rom Makefile

Clone this repository, and then in device/phh/treble folder, run following commands:,

cd device/phh/treble
bash generate.sh lineage

Also, copy the files treble_arm64_bgN.mk and treble_arm64_bvN.mk to this folder

Turn on caching to speed up build

You can speed up subsequent builds by adding these lines to your ~/.bashrc OR ~/.zshrc file:

export USE_CCACHE=1
export CCACHE_COMPRESS=1
export CCACHE_MAXSIZE=50G # 50 GB

Compilation

In ROM folder, for vanilla version:

. build/envsetup.sh
ccache -M 50G -F 0
lunch treble_arm64_bvN-ap4a-userdebug
make systemimage -j$(nproc --all)

For version with google services:

. build/envsetup.sh
ccache -M 50G -F 0
lunch treble_arm64_bgN-ap4a-userdebug
make systemimage -j$(nproc --all)

Compress

After compilation, If you want to compress the build, i recommend use 7-zip, for a fast and safe way In rom folder,

cd out/target/product/tdgsi_arm64_ab
7zz a system.img.xz "system.img"

Troubleshoot

If you face any conflicts while applying patches, apply the patch manually

Credits

These people have helped this project in some way or another, so they should be the ones who receive all the credit:

About

Script and patches for building Treble-Droid based LineageOS GSI

Resources

Stars

Watchers

Forks

Packages

No packages published