3 Commits

Author SHA1 Message Date
oxmc 6fbf9ad5a1 Add BgUpd project to the manifest
Now that the repo exists at PawletOS/android_packages_apps_BgUpd.
2026-07-09 01:29:32 -07:00
oxmc 43d10ce05b Document rpi manifests and support multi-source remove_projects
Add header comment naming the AOSP release, and switch remove_projects
to a list so multiple remove-project XML fragments can be merged by
environ.py.
2026-07-04 02:28:28 -07:00
oxmc 1e06071100 Restructure the repo 2026-07-04 01:56:27 -07:00
9 changed files with 144 additions and 88 deletions
+12 -77
View File
@@ -1,87 +1,22 @@
### Device specific configuration to build AOSP Android 16 (android-16.0.0_r4) for Raspberry Pi 4 and Raspberry Pi 5.
Based on [RaspberryVanilla](https://github.com/raspberry-vanilla).
### Android Manifests
***
### How to build (Ubuntu 22.04 LTS):
This repo holds manifests per project (except in the common folder) to build Android 16 for all supported devices that PawletOS targets.
1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements).
***
2. Install additional packages:
### Setup
```
sudo apt-get install dosfstools e2fsprogs gdisk kpartx mtools rsync
```
1. Install [`repo`](https://source.android.com/docs/setup/download#installing-repo).
2. Establish an [Android build environment](https://source.android.com/docs/setup/start/requirements).
3. Initialize repo:
Each target below has its own build instructions (additional tools, repo init steps, lunch targets, etc).
```
repo init -u https://android.googlesource.com/platform/manifest -b android-16.0.0_r4
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/vendors/brcm_rpi.xml --create-dirs
curl -o .repo/local_manifests/manifest_lineageos.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/vendors/lineageos.xml --create-dirs
curl -o .repo/local_manifests/manifest_pawletos.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/pawletos.xml --create-dirs
```
***
Or optionally, you can reduce download size by creating a shallow clone and removing unneeded projects:
### Supported targets
```
repo init -u https://android.googlesource.com/platform/manifest -b android-16.0.0_r4 --depth=1
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/vendors/brcm_rpi.xml --create-dirs
curl -o .repo/local_manifests/manifest_lineageos.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/vendors/lineageos.xml --create-dirs
curl -o .repo/local_manifests/manifest_pawletos.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/pawletos.xml --create-dirs
curl -o .repo/local_manifests/remove_projects.xml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/remove_projects.xml
```
4. Sync source code:
```
repo sync
```
5. Setup Android build environment:
```
. build/envsetup.sh
```
6. Select the device (`rpi4` or `rpi5`) and build target (normal, `tablet` for tablet, `tv` for Android TV, or `car` for Android Automotive):
```
lunch pawlet_rpi4-bp4a-userdebug
```
```
lunch pawlet_rpi4_tablet-bp4a-userdebug
```
```
lunch pawlet_rpi4_tv-bp4a-userdebug
```
```
lunch pawlet_rpi4_car-bp4a-userdebug
```
```
lunch pawlet_rpi5-bp4a-userdebug
```
```
lunch pawlet_rpi5_tablet-bp4a-userdebug
```
```
lunch pawlet_rpi5_tv-bp4a-userdebug
```
```
lunch pawlet_rpi5_car-bp4a-userdebug
```
7. Compile:
```
make bootimage systemimage systemextimage vendorimage productimage -j$(nproc)
```
8. Make flashable image for the device (`rpi4` or `rpi5`):
```
./rpi4-mkimg.sh
```
```
./rpi5-mkimg.sh
```
| Target | Description |
|---|---|
| [rpi](rpi/) | Raspberry Pi 4 and Raspberry Pi 5 |
+1 -11
View File
@@ -5,17 +5,6 @@
<remote name="oxmc_git" fetch="https://git.oxmc.me/" />
<remote name="aosp_git" fetch="https://android.googlesource.com" />
<!-- PawletOS devices -->
<project path="device/pawlet/rpi" name="PawletOS/pawlet_rpi_common" remote="oxmc_git" revision="android-16.0" />
<project path="device/pawlet/rpi4" name="PawletOS/pawlet_rpi4" remote="oxmc_git" revision="android-16.0">
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi4-wrimg.sh" />
</project>
<project path="device/pawlet/rpi5" name="PawletOS/pawlet_rpi5" remote="oxmc_git" revision="android-16.0">
<linkfile src="mkimg.sh" dest="rpi5-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi5-wrimg.sh" />
</project>
<!-- PawletOS Overlays -->
<project path="vendor/pawlet/fonts/ArcticonsSans" name="PawletOS/fonts_ArcticonsSans" remote="oxmc_git" revision="main" />
@@ -49,6 +38,7 @@
<project path="packages/apps/SetupWizard" name="PawletOS/android_packages_apps_SetupWizard" remote="oxmc_git" revision="android-16.0" />
<project path="packages/apps/ConfigProvisioner" name="PawletOS/app_ConfigProvisioner" remote="oxmc_git" revision="main" />
<project path="packages/apps/PawletSettings" name="PawletOS/app_PawletSettings" remote="oxmc_git" revision="main" />
<project path="packages/apps/BgUpd" name="PawletOS/android_packages_apps_BgUpd" remote="oxmc_git" revision="android-16.0" />
<!-- MicroG -->
<project path="vendor/partner_gms" name="PawletOS/vendor_partner_gms" remote="oxmc_git" revision="master" />
+88
View File
@@ -0,0 +1,88 @@
### Device specific configuration to build AOSP Android 16 (android-16.0.0_r4) for Raspberry Pi 4 and Raspberry Pi 5.
Based on [RaspberryVanilla](https://github.com/raspberry-vanilla).
***
### How to build (Ubuntu Server 26.04 LTS):
After setting up the [Android build environment](../README.md#setup), do:
1. Install additional packages:
```
sudo apt-get install dosfstools e2fsprogs gdisk kpartx mtools rsync
```
2. Clone [PawletOS-Build](https://git.oxmc.me/PawletOS/PawletOS-Build) and install its dependencies:
```
git clone https://git.oxmc.me/PawletOS/PawletOS-Build
cd PawletOS-Build
pip3 install -r requirements.txt
```
3. Download the `repo.yml` config for this target:
```
curl -o repo.yml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/repo.yml
```
Or optionally, to reduce download size with a shallow clone:
```
curl -o repo.yml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/repo-shallow.yml
```
4. Run the build script (clones source and syncs it based on `repo.yml`):
```
python3 ./environ.py --applyPatches
```
5. source the environment:
```
. AOSP-Source/build/envsetup.sh
```
6. Select the device (`rpi4` or `rpi5`) and build target (normal, `tablet` for tablet, `tv` for Android TV, or `car` for Android Automotive):
```
lunch pawlet_rpi4-bp4a-userdebug
```
```
lunch pawlet_rpi4_tablet-bp4a-userdebug
```
```
lunch pawlet_rpi4_tv-bp4a-userdebug
```
```
lunch pawlet_rpi4_car-bp4a-userdebug
```
```
lunch pawlet_rpi5-bp4a-userdebug
```
```
lunch pawlet_rpi5_tablet-bp4a-userdebug
```
```
lunch pawlet_rpi5_tv-bp4a-userdebug
```
```
lunch pawlet_rpi5_car-bp4a-userdebug
```
7. Compile:
```
make bootimage systemimage systemextimage vendorimage productimage -j$(nproc)
```
8. Make flashable image for the device (`rpi4` or `rpi5`):
```
./rpi4-mkimg.sh
```
```
./rpi5-mkimg.sh
```
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- PawletOS devices -->
<project path="device/pawlet/rpi" name="PawletOS/pawlet_rpi_common" remote="oxmc_git" revision="android-16.0" />
<project path="device/pawlet/rpi4" name="PawletOS/pawlet_rpi4" remote="oxmc_git" revision="android-16.0">
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi4-wrimg.sh" />
</project>
<project path="device/pawlet/rpi5" name="PawletOS/pawlet_rpi5" remote="oxmc_git" revision="android-16.0">
<linkfile src="mkimg.sh" dest="rpi5-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi5-wrimg.sh" />
</project>
</manifest>
+17
View File
@@ -0,0 +1,17 @@
# Android 16.0.0_r4 local manifest for PawletOS on Raspberry Pi
repo:
url: "https://android.googlesource.com/platform/manifest"
branch: "android-16.0.0_r4"
options:
- "--depth=1"
local_manifests:
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/pawletos.xml"
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/vendor/brcm_rpi.xml"
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/vendor/lineageos.xml"
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/pawletos.xml"
remove_projects:
- "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/remove_projects.xml"
patches:
dirs:
- vendor/pawlet/patches
+13
View File
@@ -0,0 +1,13 @@
# Android 16.0.0_r4 local manifest for PawletOS on Raspberry Pi
repo:
url: "https://android.googlesource.com/platform/manifest"
branch: "android-16.0.0_r4"
local_manifests:
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/pawletos.xml"
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/vendor/brcm_rpi.xml"
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/vendor/lineageos.xml"
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/pawletos.xml"
patches:
dirs:
- vendor/pawlet/patches
View File