Skip to content

cawilliamson/treble_voltage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Building

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

Glone base repo

Firstly we need to clone the base repo (this one) which we can do by runnng the following:

git clone --depth=1 https://github.com/cawilliamson/treble_voltage.git
cd treble_voltage/

Initalise the Treble VoltageOS repo

Now we want to fetch the VoltageOS manifest files:

mkdir -p src/
cd src/
repo init -u https://github.com/VoltageOS/manifest.git -b 14 --depth=1 --git-lfs

Copy our manifest

Copy our own manifest which is needed for the GSI portion of the build:

mkdir -p .repo/local_manifests
cp -v ../configs/*.xml .repo/local_manifests/

Sync the repository

Sync ALL necessary sources to build the ROM:

repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags

Apply the patches

Copy the patches folder to the ROM folder and copy the apply-patches.sh to the rom folder. and run this in the ROM folder:

../patches/apply.sh . trebledroid
../patches/apply.sh . personal

Build the TrebleApp

In order to build our patched TrebleApp you need to run the following:

. build/envsetup.sh
pushd treble_app/
bash build.sh release
cp -v TrebleApp.apk ../vendor/hardware_overlay/TrebleApp/app.apk
popd

Generate base ROM config

In order to generate the base ROM config run the following commands:

pushd device/phh/treble
cp -v ../../../configs/voltage.mk .
bash generate.sh voltage
popd

Compilation

In the ROM folder, run this for building an arm64 standard build (needed even if you want a vndklite build):

. build/envsetup.sh
lunch treble_arm64_bvN-ap1a-userdebug
make systemimage -j$(nproc --all)

Convert standard build to vndklite build (optional)

Run the following commands if you require a vndklite build:

pushd treble_adapter/
cp -v ../out/target/product/tdgsi_arm64_ab/system.img standard_system_arm64.img
sudo bash-adapter.sh 64 standard_system_arm64.img
sudo mv s.img s_arm64.img
sudo chown $(whoami):$(id | awk -F'[()]' '{ print $2 }') s_arm64.img
popd

Troubleshooting

If you face any conflicts while applying patches, apply the patch manually. For any other issues, report them via the Issues tab.

Credits

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

About

Patches used to build VoltageOS as Trebledroid GSI.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Makefile 76.7%
  • Shell 23.3%