Compare commits

...

No commits in common. "lineage-21-light" and "lineage-21-td" have entirely different histories.

3 changed files with 39 additions and 14 deletions

View File

@ -1,11 +1,11 @@
## Building "generic" LineageOS GSIs ## ## Building TrebleDroid-based LineageOS GSIs ##
Set up your environment by referring to [LineageOS Wiki](https://wiki.lineageos.org/devices/TP1803/build) (mainly "Install the build packages" and "Install the repo command"). Set up your environment by referring to [LineageOS Wiki](https://wiki.lineageos.org/devices/TP1803/build) (mainly "Install the build packages" and "Install the repo command").
Create a new working directory for your LineageOS build and navigate to it: Create a new working directory for your LineageOS build and navigate to it:
mkdir lineage-21-build-gsi; cd lineage-21-build-gsi mkdir lineage-21-build-td; cd lineage-21-build-td
Initialize your LineageOS workspace: Initialize your LineageOS workspace:
@ -13,15 +13,19 @@ Initialize your LineageOS workspace:
Clone both this and the patches repos: Clone both this and the patches repos:
git clone https://github.com/AndyCGYan/lineage_build_unified lineage_build_unified -b lineage-21-light git clone https://github.com/AndyCGYan/lineage_build_unified lineage_build_unified -b lineage-21-td
git clone https://github.com/AndyCGYan/lineage_patches_unified lineage_patches_unified -b lineage-21-light git clone https://github.com/AndyCGYan/lineage_patches_unified lineage_patches_unified -b lineage-21-td
Finally, start the build script - for example, to build for all supported archs: Finally, start the build script - for example, to build for all supported archs:
bash lineage_build_unified/buildbot_unified.sh treble 64VN 64VS 64GN bash lineage_build_unified/buildbot_unified.sh treble A64VN A64VS A64GN 64VN 64VS 64GN
Be sure to update the cloned repos from time to time! Be sure to update the cloned repos from time to time!
--- ---
Note: VNDKLite targets are generated from built images instead of source-built - refer to [sas-creator](https://github.com/AndyCGYan/sas-creator).
---
This script is also used to make device-specific and/or personal builds. To do so, understand the script, and try the `device` and `personal` keywords. This script is also used to make device-specific and/or personal builds. To do so, understand the script, and try the `device` and `personal` keywords.

View File

@ -86,7 +86,8 @@ prep_device() {
} }
prep_treble() { prep_treble() {
: apply_patches patches_treble_prerequisite
apply_patches patches_treble_td
} }
finalize_device() { finalize_device() {
@ -94,7 +95,18 @@ finalize_device() {
} }
finalize_treble() { finalize_treble() {
: cd device/phh/treble
git clean -fdx
bash generate.sh lineage
cd ../../..
cd treble_app
bash build.sh release
cp TrebleApp.apk ../vendor/hardware_overlay/TrebleApp/app.apk
cd ..
cd vendor/hardware_overlay
git add TrebleApp/app.apk
git commit -m "[TEMP] Up TrebleApp to $BUILD_DATE"
cd ../..
} }
build_device() { build_device() {
@ -104,16 +116,19 @@ build_device() {
build_treble() { build_treble() {
case "${1}" in case "${1}" in
("64VN") TARGET=gsi_arm64_vN;; ("A64VN") TARGET=a64_bvN;;
("64VS") TARGET=gsi_arm64_vS;; ("A64VS") TARGET=a64_bvS;;
("64GN") TARGET=gsi_arm64_gN;; ("A64GN") TARGET=a64_bgN;;
("64VN") TARGET=arm64_bvN;;
("64VS") TARGET=arm64_bvS;;
("64GN") TARGET=arm64_bgN;;
(*) echo "Invalid target - exiting"; exit 1;; (*) echo "Invalid target - exiting"; exit 1;;
esac esac
lunch lineage_${TARGET}-${aosp_target_release}-userdebug lunch lineage_${TARGET}-${aosp_target_release}-userdebug
make installclean make installclean
make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) systemimage make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) systemimage
SIGNED=false SIGNED=false
if [ ${SIGNABLE} = true ] && [[ ${TARGET} == *_g? ]] if [ ${SIGNABLE} = true ] && [[ ${TARGET} == *_bg? ]]
then then
make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) target-files-package otatools make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) target-files-package otatools
bash ./lineage_build_unified/sign_target_files.sh $OUT/signed-target_files.zip bash ./lineage_build_unified/sign_target_files.sh $OUT/signed-target_files.zip
@ -122,6 +137,7 @@ build_treble() {
echo "" echo ""
fi fi
mv $OUT/system.img ~/build-output/lineage-21.0-$BUILD_DATE-UNOFFICIAL-${TARGET}$(${PERSONAL} && echo "-personal" || echo "")$(${SIGNED} && echo "-signed" || echo "").img mv $OUT/system.img ~/build-output/lineage-21.0-$BUILD_DATE-UNOFFICIAL-${TARGET}$(${PERSONAL} && echo "-personal" || echo "")$(${SIGNED} && echo "-signed" || echo "").img
#make vndk-test-sepolicy
} }
if ${NOSYNC} if ${NOSYNC}

View File

@ -1,9 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<manifest> <manifest>
<project name="AndyCGYan/android_device_lineage_gsi" path="device/lineage/gsi" remote="github" revision="lineage-21" /> <project name="TrebleDroid/device_phh_treble" path="device/phh/treble" remote="github" revision="android-14.0" />
<project name="AndyCGYan/android_packages_apps_QcRilAm" path="packages/apps/QcRilAm" remote="github" revision="master" />
<project name="TrebleDroid/vendor_hardware_overlay" path="vendor/hardware_overlay" remote="github" revision="pie" /> <project name="TrebleDroid/vendor_hardware_overlay" path="vendor/hardware_overlay" remote="github" revision="pie" />
<remove-project name="LineageOS/android_packages_apps_Camera2" /> <project name="phhusson/vendor_vndk-tests" path="vendor/vndk-tests" remote="github" revision="master" />
<project name="TrebleDroid/vendor_interfaces" path="vendor/interfaces" remote="github" revision="android-14.0" />
<project name="phhusson/vendor_lptools" path="vendor/lptools" remote="github" revision="master" />
<project name="phhusson/vendor_magisk" path="vendor/magisk" remote="github" revision="android-10.0" />
<project name="TrebleDroid/treble_app" path="treble_app" remote="github" revision="master" />
<project name="AndyCGYan/android_packages_apps_QcRilAm" path="packages/apps/QcRilAm" remote="github" revision="master" />
<project name="platform/prebuilts/vndk/v28" path="prebuilts/vndk/v28" remote="aosp" clone-depth="1" revision="204f1bad00aaf480ba33233f7b8c2ddaa03155dd" />
<remote name="gitlab" fetch="https://gitlab.com/" /> <remote name="gitlab" fetch="https://gitlab.com/" />
<project name="MindTheGapps/vendor_gapps" path="vendor/gapps" remote="gitlab" revision="upsilon" /> <project name="MindTheGapps/vendor_gapps" path="vendor/gapps" remote="gitlab" revision="upsilon" />
</manifest> </manifest>