Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba21a0d381 | ||
|
|
992060c969 | ||
|
|
07e8ea88af | ||
|
|
9ff1718d9f | ||
|
|
c3c41e0b7f | ||
|
|
6b60c9c498 | ||
|
|
4721893991 | ||
|
|
050bdbac47 |
@@ -0,0 +1 @@
|
|||||||
|
/local_manifests_device
|
||||||
@@ -1,31 +1,27 @@
|
|||||||
|
|
||||||
## Building PHH-based LineageOS GSIs ##
|
## Building "generic" LineageOS GSIs ##
|
||||||
|
|
||||||
To get started with building LineageOS GSI, you'll need to get familiar with [Git and Repo](https://source.android.com/source/using-repo.html), and set up your environment by referring to [LineageOS Wiki](https://wiki.lineageos.org/devices/redfin/build) (mainly "Install the build packages") and [How to build a GSI](https://github.com/phhusson/treble_experimentations/wiki/How-to-build-a-GSI%3F).
|
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").
|
||||||
|
|
||||||
First, open a new Terminal window, which defaults to your home directory. 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-19.x-build-gsi; cd lineage-19.x-build-gsi
|
mkdir lineage-20-build-gsi; cd lineage-20-build-gsi
|
||||||
|
|
||||||
Initialize your LineageOS workspace:
|
Initialize your LineageOS workspace:
|
||||||
|
|
||||||
repo init -u https://github.com/LineageOS/android.git -b lineage-19.1 --git-lfs
|
repo init -u https://github.com/LineageOS/android.git -b lineage-20.0 --git-lfs
|
||||||
|
|
||||||
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-19.1
|
git clone https://github.com/AndyCGYan/lineage_build_unified lineage_build_unified -b lineage-20-light
|
||||||
git clone https://github.com/AndyCGYan/lineage_patches_unified lineage_patches_unified -b lineage-19.1
|
git clone https://github.com/AndyCGYan/lineage_patches_unified lineage_patches_unified -b lineage-20-light
|
||||||
|
|
||||||
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 A64VN A64VS A64GN 64VN 64VS 64GN
|
bash lineage_build_unified/buildbot_unified.sh treble 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 and Secure 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.
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ for project in $(cd $patches; echo *);do
|
|||||||
p="$(tr _ / <<<$project |sed -e 's;platform/;;g')"
|
p="$(tr _ / <<<$project |sed -e 's;platform/;;g')"
|
||||||
[ "$p" == build ] && p=build/make
|
[ "$p" == build ] && p=build/make
|
||||||
[ "$p" == frameworks/proto/logging ] && p=frameworks/proto_logging
|
[ "$p" == frameworks/proto/logging ] && p=frameworks/proto_logging
|
||||||
[ "$p" == treble/app ] && p=treble_app
|
|
||||||
[ "$p" == vendor/hardware/overlay ] && p=vendor/hardware_overlay
|
[ "$p" == vendor/hardware/overlay ] && p=vendor/hardware_overlay
|
||||||
[ "$p" == vendor/partner/gms ] && p=vendor/partner_gms
|
[ "$p" == vendor/partner/gms ] && p=vendor/partner_gms
|
||||||
pushd $p
|
pushd $p
|
||||||
|
|||||||
+12
-38
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
echo ""
|
echo ""
|
||||||
echo "LineageOS 19.x Unified Buildbot"
|
echo "LineageOS 20 Unified Buildbot"
|
||||||
echo "Executing in 5 seconds - CTRL-C to exit"
|
echo "Executing in 5 seconds - CTRL-C to exit"
|
||||||
echo ""
|
echo ""
|
||||||
sleep 5
|
sleep 5
|
||||||
@@ -45,7 +45,7 @@ echo\
|
|||||||
)' ERR
|
)' ERR
|
||||||
|
|
||||||
START=`date +%s`
|
START=`date +%s`
|
||||||
BUILD_DATE="$(date +%Y%m%d)"
|
BUILD_DATE="$(date -u +%Y%m%d)"
|
||||||
|
|
||||||
prep_build() {
|
prep_build() {
|
||||||
echo "Preparing local manifests"
|
echo "Preparing local manifests"
|
||||||
@@ -62,14 +62,11 @@ prep_build() {
|
|||||||
mkdir -p ~/build-output
|
mkdir -p ~/build-output
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
repopick -t twelve-burnin -r -f
|
repopick -t 13-taro-kalama -r -f
|
||||||
repopick 321337 -r -f # Deprioritize important developer notifications
|
repopick 321337 -r -f # Deprioritize important developer notifications
|
||||||
repopick 321338 -r -f # Allow disabling important developer notifications
|
repopick 321338 -r -f # Allow disabling important developer notifications
|
||||||
repopick 321339 -r -f # Allow disabling USB notifications
|
repopick 321339 -r -f # Allow disabling USB notifications
|
||||||
repopick 329229 -r -f # Alter model name to avoid SafetyNet HW attestation enforcement
|
repopick 340916 -r # SystemUI: add burnIn protection
|
||||||
repopick 329230 -r -f # keystore: Block key attestation for SafetyNet
|
|
||||||
repopick 331534 -r -f # SystemUI: Add support to add/remove QS tiles with one tap
|
|
||||||
repopick 331791 -r -f # Skip checking SystemUI's permission for observing sensor privacy
|
|
||||||
}
|
}
|
||||||
|
|
||||||
apply_patches() {
|
apply_patches() {
|
||||||
@@ -82,8 +79,7 @@ prep_device() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prep_treble() {
|
prep_treble() {
|
||||||
apply_patches patches_treble_prerequisite
|
:
|
||||||
apply_patches patches_treble_phh
|
|
||||||
}
|
}
|
||||||
|
|
||||||
finalize_device() {
|
finalize_device() {
|
||||||
@@ -91,47 +87,25 @@ 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() {
|
||||||
if [ ${1} == "arm64" ]
|
brunch ${1}
|
||||||
then
|
mv $OUT/lineage-*.zip ~/build-output/lineage-20.0-$BUILD_DATE-UNOFFICIAL-${1}$($PERSONAL && echo "-personal" || echo "").zip
|
||||||
lunch lineage_arm64-userdebug
|
|
||||||
make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) systemimage
|
|
||||||
mv $OUT/system.img ~/build-output/lineage-19.1-$BUILD_DATE-UNOFFICIAL-arm64$(${PERSONAL} && echo "-personal" || echo "").img
|
|
||||||
else
|
|
||||||
brunch ${1}
|
|
||||||
mv $OUT/lineage-*.zip ~/build-output/lineage-19.1-$BUILD_DATE-UNOFFICIAL-${1}$($PERSONAL && echo "-personal" || echo "").zip
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
build_treble() {
|
build_treble() {
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
("A64VN") TARGET=a64_bvN;;
|
("64VN") TARGET=gsi_arm64_vN;;
|
||||||
("A64VS") TARGET=a64_bvS;;
|
("64VS") TARGET=gsi_arm64_vS;;
|
||||||
("A64GN") TARGET=a64_bgN;;
|
("64GN") TARGET=gsi_arm64_gN;;
|
||||||
("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}-userdebug
|
lunch lineage_${TARGET}-userdebug
|
||||||
make installclean
|
make installclean
|
||||||
make -j$(nproc --all) systemimage
|
make -j$(nproc --all) systemimage
|
||||||
mv $OUT/system.img ~/build-output/lineage-19.1-$BUILD_DATE-UNOFFICIAL-${TARGET}$(${PERSONAL} && echo "-personal" || echo "").img
|
mv $OUT/system.img ~/build-output/lineage-20.0-$BUILD_DATE-UNOFFICIAL-${TARGET}$(${PERSONAL} && echo "-personal" || echo "").img
|
||||||
make vndk-test-sepolicy
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ${NOSYNC}
|
if ${NOSYNC}
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<manifest>
|
<manifest>
|
||||||
<project name="phhusson/vendor_hardware_overlay" path="vendor/hardware_overlay" remote="github" revision="pie" />
|
<project name="AndyCGYan/android_device_lineage_gsi" path="device/lineage/gsi" remote="github" revision="lineage-20" />
|
||||||
<project name="phhusson/device_phh_treble" path="device/phh/treble" remote="github" revision="android-12.0" />
|
<project name="AndyCGYan/android_packages_apps_QcRilAm" path="packages/apps/QcRilAm" remote="github" revision="master" />
|
||||||
<project name="phhusson/vendor_vndk-tests" path="vendor/vndk-tests" remote="github" revision="master" />
|
<project name="TrebleDroid/vendor_hardware_overlay" path="vendor/hardware_overlay" remote="github" revision="pie" />
|
||||||
<project name="phhusson/vendor_interfaces" path="vendor/interfaces" remote="github" revision="android-11.0" />
|
<remove-project name="LineageOS/android_packages_apps_Camera2" />
|
||||||
<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" />
|
|
||||||
<remote name="gitlab" fetch="https://gitlab.com/" />
|
<remote name="gitlab" fetch="https://gitlab.com/" />
|
||||||
<project name="davi.sh/gms-android-12" path="vendor/partner_gms" remote="gitlab" revision="master" />
|
<project name="MindTheGapps/vendor_gapps" path="vendor/gapps" remote="gitlab" revision="tau" />
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
Reference in New Issue
Block a user