Skip to content

ahnet-69/treble_rising

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

To get started with building RisingOS 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 Rising
cd Rising

To initialize your local repository, run this command:

repo init -u https://github.com/RisingTechOSS/android -b thirteen

Clone the Manifest to add necessary dependencies for gsi

git clone https://github.com/ahnet-69/treble_manifest.git -b rising-13 .repo/local_manifests

Afterwards, sync the source by running this command:

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

After syncing, apply the patches:

Copy the patches folder to rom folder and in rom folder

patches/apply-patches.sh .

NOTE: Its recommended to apply patches manually by going to respective directory of the patches and applying them by using "git am" as the script often skips applying critical patches for unknown reasons.

Adapting for RisingOS

Clone this repository and then copy RisingOS.mk to device/phh/treble in rom folder. Then run the following commands:

 cd device/phh/treble
 bash generate.sh RisingOS

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 building Gapps

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

Compress

After compilation, If you want to compress the build. In rom folder,

cd out/target/product/tdgsi_arm64_ab
xz -9 -T0 -v -z 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: