automate/020_waydroid-lineage-base.sh

56 lines
1.9 KiB
Bash

## Compile Waydroid - Lineage OS based images
# Getting started
# To get started with Android/LineageOS, you'll need to get familiar with and its git workflow.
## Initializing
# To initialize your local repository using the LineageOS trees, use a command like this:
lineage_git="https://github.com/LineageOS/android.git"
# lineage_branch="lineage-18.1"
lineage_branch="lineage-20"
repo init -u ${lineage_git} -b ${lineage_branch} --git-lfs
repo sync build/make
# Then we grab the Waydroid local_manifests
# https://github.com/waydroid/android_vendor_waydroid
wget -O - https://raw.githubusercontent.com/waydroid/android_vendor_waydroid/${lineage_branch}/manifest_scripts/generate-manifest.sh | bash
## Syncing
# Then to sync up:
repo sync
# Then we setup the local build environment:
${PWD} build/envsetup.sh
## Patching
# After that is complete, we apply the Waydroid patches:
apply-waydroid-patches
# How to build
# Please see the lineageOS wiki for building environment setup.
# Waydroid AOSP Lunch Options:
# lineage_waydroid_arm-userdebug
# lineage_waydroid_arm64-userdebug
# lineage_waydroid_x86-userdebug
# lineage_waydroid_x86_64-userdebug
# Waydroid Build Commands:
${PWD} build/envsetup.sh
lunch lineage_waydroid_arm64-userdebug
make systemimage -j"$(nproc --all)"
make vendorimage -j"$(nproc --all)"
## Image Generation From Sparse Image:
# The default output of the AOSP build system is an "Android Sparse Image". We need raw fileystems instead. From the same terminal where you just built a system and a vendor image, run:
simg2img "${OUT}"/system.img ~/system.img
simg2img "${OUT}"/vendor.img ~/vendor.img
# to obtain your target raw images at ~/system.img and ~/vendor.img
## Troubleshooting
# Local Manifest:
# To manually regenerate the local_manifests, we also have added a function to do so
# waydroid-generate-manifest
# After doing that you will want to resync (this will wipe out any local changes, so make sure you save your work to a different branch)