Restructure the repo

This commit is contained in:
2026-07-04 01:50:53 -07:00
parent 31996cdb2f
commit 366d734c4d
9 changed files with 144 additions and 89 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 17 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 -12
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" />
@@ -76,4 +65,4 @@
<project path="vendor/Lawnchair/LawnchairLauncher" name="PawletOS/prebuilt_lawnchair" remote="oxmc_git" revision="android-16.0" />
<project path="vendor/vivaldi/VivaldiBrowser" name="PawletOS/prebuilt_VivaldiBrowser" remote="oxmc_git" revision="main" />
<project path="vendor/floris/Florisboard" name="PawletOS/prebuilt_Florisboard" remote="oxmc_git" revision="main" />
</manifest>
</manifest>
@@ -12,6 +12,8 @@
<remove-project name="platform/hardware/invensense" />
<remove-project name="platform/hardware/nxp/keymint" />
<remove-project name="platform/hardware/nxp/nfc" />
<remove-project name="platform/hardware/nxp/nxp_mcu_loader" />
<remove-project name="platform/hardware/nxp/uwb" />
<remove-project name="platform/hardware/nxp/secure_element" />
<remove-project name="platform/hardware/nxp/weaver" />
<remove-project name="platform/hardware/qcom/wlan" />
@@ -19,6 +21,7 @@
<remove-project name="platform/hardware/st/secure_element2" />
<remove-project name="platform/hardware/samsung/nfc" />
<remove-project name="platform/hardware/synaptics/wlan" />
<remove-project name="platform/hardware/telink/atv/refDesignRcu" />
<remove-project name="platform/hardware/ti/am57x" />
<remove-project name="platform/prebuilts/clang/host/darwin-x86" />
<remove-project name="platform/prebuilts/go/darwin-x86" />
+88
View File
@@ -0,0 +1,88 @@
### Device specific configuration to build AOSP Android 17 (android-17.0.0_r1) 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-17.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-17.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-cp2a-userdebug
```
```
lunch pawlet_rpi4_tablet-cp2a-userdebug
```
```
lunch pawlet_rpi4_tv-cp2a-userdebug
```
```
lunch pawlet_rpi4_car-cp2a-userdebug
```
```
lunch pawlet_rpi5-cp2a-userdebug
```
```
lunch pawlet_rpi5_tablet-cp2a-userdebug
```
```
lunch pawlet_rpi5_tv-cp2a-userdebug
```
```
lunch pawlet_rpi5_car-cp2a-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>
+15
View File
@@ -0,0 +1,15 @@
repo:
url: "https://android.googlesource.com/platform/manifest"
branch: "android-17.0.0_r1"
options:
- "--depth=1"
local_manifests:
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/pawletos.xml"
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/vendor/brcm_rpi.xml"
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/vendor/lineageos.xml"
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/pawletos.xml"
remove_projects: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/remove_projects.xml"
patches:
dirs:
- vendor/pawlet/patches
+12
View File
@@ -0,0 +1,12 @@
repo:
url: "https://android.googlesource.com/platform/manifest"
branch: "android-17.0.0_r1"
local_manifests:
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/pawletos.xml"
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/vendor/brcm_rpi.xml"
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/vendor/lineageos.xml"
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/pawletos.xml"
patches:
dirs:
- vendor/pawlet/patches
View File