You'll need to get familiar with Git and Repo as well as How to build a GSI.
Create the directory
mkdir derp
cd derp
To initialize your local repository using the AOSP/CAF based DerpFest source, use a command like this:
repo init -u https://github.com/DerpFest-LOS/android_manifest.git -b 15.2 --git-lfs
Sync up with this command:
repo sync -j48
clone all repo
git clone https://github.com/TrebleDroid/vendor_interfaces -b android-15.0 vendor/interfaces
git clone https://github.com/TrebleDroid/device_phh_treble -b android-15.0 device/phh/treble
git clone https://github.com/TrebleDroid/treble_app -b master treble_app
git clone https://github.com/AndyCGYan/android_packages_apps_QcRilAm -b master packages/apps/QcRilAm
git clone https://github.com/TrebleDroid/vendor_hardware_overlay -b pie vendor/hardware_overlay
git clone https://android.googlesource.com/platform/prebuilts/vndk/v28 prebuilts/vndk/v28
git clone https://android.googlesource.com/platform/prebuilts/vndk/v29 prebuilts/vndk/v29
git clone https://github.com/ponces/treble_adapter -b master treble_adapter
git clone https://github.com/Doze-off/patches.git -b patches-15 patches
Move the apply-patches.sh script inside the patches folder to the main folder
Use the command:
bash apply-patches.sh ~/derp
Note: if some patches fail, you have to apply them manually
Move the files AndroidProducts.mk, derp.mk, derpfest_gsi.mk to folder, device/phh/treble
Compilation: Follow the commands
source build/envsetup.sh
lunch derpfest_gsi-bp1a-userdebug
make systemimage -j48
Compress:
xz -9 -T0 -v -z out/target/product/tdgsi_arm64_ab/system.img
Finish