59 lines
2.0 KiB
Bash
59 lines
2.0 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.
|
|
|
|
sudo apt install git repo python3-kerberos
|
|
|
|
## 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)
|