3 Commits

Author SHA1 Message Date
Konsta 74c068f5bd remove coreutils from additional packages
* This is installed on Ubuntu by default.
* dosfstools and mtools are required for custom mkbootimg.mk.
  e2fsprogs, fdisk, and kpartx are required for mkimg.sh.
  rsync is required for AOSP kernel build environment.
2025-06-27 12:23:50 +03:00
Konsta fc65dea5ab remove meson build system tools from additional packages
* Mesa and libcamera have been converted to build using soong blueprint
  makefiles so these are no longer required.
2025-06-27 12:23:50 +03:00
Konsta 03c2070ba0 switch to external/mesa3d-rpi in device manifest
* Moving forward there will be two copies of Mesa in Raspberry Vanilla
  AOSP source tree.

  external/mesa3d is the upstream AOSP fork directly from AOSP that has
  soong blueprint makefiles to satisfy package dependencies for
  gfxstream-vulkan elsewhere in the AOSP tree.

  external/mesa3d-rpi is the Raspberry Vanilla fork (generally the latest
  upstream mainline stable version) that has some additional patches and
  soong blueprint makefiles to build only the drivers that are used on
  Raspberry Pi (vc4 & v3d gallium, broadcom vulkan).
2025-06-27 12:23:47 +03:00
11 changed files with 197 additions and 282 deletions
+87 -11
View File
@@ -1,22 +1,98 @@
### Android Manifests
### Device specific configuration to build AOSP Android 15 for Raspberry Pi 4 and Raspberry Pi 5.
***
This repo holds manifests per project (except in the common folder) to build Android 17 for all supported devices that PawletOS targets.
### How to build (Ubuntu 22.04 LTS):
1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements).
2. Install additional packages:
```
sudo apt-get install dosfstools e2fsprogs fdisk kpartx mtools rsync
```
3. Initialize repo:
```
repo init -u https://android.googlesource.com/platform/manifest -b android-15.0.0_r32
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-15.0/manifest_brcm_rpi.xml --create-dirs
```
Or optionally, you can reduce download size by creating a shallow clone and removing unneeded projects:
```
repo init -u https://android.googlesource.com/platform/manifest -b android-15.0.0_r32 --depth=1
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-15.0/manifest_brcm_rpi.xml --create-dirs
curl -o .repo/local_manifests/remove_projects.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-15.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 (tablet UI, `tv` for Android TV, or `car` for Android Automotive):
```
lunch aosp_rpi4-bp1a-userdebug
```
```
lunch aosp_rpi4_tv-bp1a-userdebug
```
```
lunch aosp_rpi4_car-bp1a-userdebug
```
```
lunch aosp_rpi5-bp1a-userdebug
```
```
lunch aosp_rpi5_tv-bp1a-userdebug
```
```
lunch aosp_rpi5_car-bp1a-userdebug
```
7. Compile:
```
make bootimage systemimage vendorimage -j$(nproc)
```
8. Make flashable image for the device (`rpi4` or `rpi5`):
```
./rpi4-mkimg.sh
```
```
./rpi5-mkimg.sh
```
Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-15.0).
***
### Setup
### Issues:
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).
Each target below has its own build instructions (additional tools, repo init steps, lunch targets, etc).
- [Android](https://github.com/raspberry-vanilla/android_local_manifest/issues)
- [Linux kernel](https://github.com/raspberry-vanilla/android_kernel_manifest/issues)
***
### Supported targets
### Wiki:
| Target | Description |
|---|---|
| [rpi](rpi/) | Raspberry Pi 4 and Raspberry Pi 5 |
- [Audio](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Audio)
- [DSI display](https://github.com/raspberry-vanilla/android_local_manifest/wiki/DSI-display)
- [HDMI display](https://github.com/raspberry-vanilla/android_local_manifest/wiki/HDMI-display)
- [HDMI-CEC](https://github.com/raspberry-vanilla/android_local_manifest/wiki/HDMI-CEC)
- [Interfaces](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Interfaces)
- [USB boot](https://github.com/raspberry-vanilla/android_local_manifest/wiki/USB-boot)
- [Utilities](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Utilities)
- [Video decoding & encoding](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Video-decoding-&-encoding)
-69
View File
@@ -1,69 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Remotes -->
<remote name="github" fetch="https://github.com/" />
<remote name="oxmc_git" fetch="https://git.oxmc.me/" />
<remote name="aosp_git" fetch="https://android.googlesource.com" />
<!-- PawletOS Overlays -->
<project path="vendor/pawlet/fonts/ArcticonsSans" name="PawletOS/fonts_ArcticonsSans" remote="oxmc_git" revision="main" />
<!-- Framework API Extensions -->
<project path="vendor/pawlet/frameworks/pawlet" name="PawletOS/frameworks_pawlet" remote="oxmc_git" revision="main" />
<!-- TWRP Recovery — disabled until TWRP supports Android 16 (latest upstream is android-14.1).
<remove-project name="platform/bootable/recovery" />
<project path="bootable/recovery" name="PawletOS/android_bootable_recovery" remote="oxmc_git" revision="twrp-11" />
<project path="vendor/pawlet/twrp_recovery" name="PawletOS/twrp_recovery" remote="oxmc_git" revision="android-16" />
<project path="vendor/twrp" name="PawletOS/android_vendor_twrp" remote="oxmc_git" revision="android-14.1" />
-->
<!-- Vendor (HALs, system apps, etc.) -->
<project path="vendor/pawlet" name="PawletOS/android_vendor_pawlet" remote="oxmc_git" revision="android-17.0" />
<!-- Patches (applied post-sync by PawletOS-Build/environ.py) -->
<project path="vendor/pawlet/patches" name="PawletOS/patches" remote="oxmc_git" revision="android-16.0" />
<!-- update_engine: LineageOS fork commented out until OTA implementation is finalised.
LineageOS fork (lineage-22.2) targets Android 15 — build compatibility with Android 16
is unverified and the LineageOS-specific patches (OTA server format, signing) are not
yet needed for PawletOS. Re-enable once PawletUpdater OTA flow is implemented and
the fork is validated against Android 16, or a lineage-23+ branch is available.
<remove-project name="platform/system/update_engine" />
<project path="system/update_engine" name="LineageOS/android_system_update_engine" remote="github" revision="lineage-22.2" />
-->
<!-- First party apps -->
<project path="packages/apps/Updater" name="PawletOS/android_packages_apps_Updater" remote="oxmc_git" revision="android-17.0" />
<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-17.0" />
<!-- MicroG -->
<project path="vendor/partner_gms" name="PawletOS/vendor_partner_gms" remote="oxmc_git" revision="master" />
<!-- Prebuilt libraries (managed by maven-to-lib; revision = artifact version) -->
<project path="prebuilts/application_libs/accompanist" name="PawletOS/prebuilt_libs_accompanist" remote="oxmc_git" revision="0.37.3" />
<project path="prebuilts/application_libs/coil" name="PawletOS/prebuilt_libs_coil" remote="oxmc_git" revision="3.5.0" />
<project path="prebuilts/application_libs/commons" name="PawletOS/prebuilt_libs_commons" remote="oxmc_git" revision="3.20.0" />
<project path="prebuilts/application_libs/glide" name="PawletOS/prebuilt_libs_glide" remote="oxmc_git" revision="5.0.7" />
<project path="prebuilts/application_libs/jsoup" name="PawletOS/prebuilt_libs_jsoup" remote="oxmc_git" revision="1.22.2" />
<project path="prebuilts/application_libs/koin" name="PawletOS/prebuilt_libs_koin" remote="oxmc_git" revision="4.2.2" />
<project path="prebuilts/application_libs/kotlinx-serialization" name="PawletOS/prebuilt_libs_kotlinx-serialization" remote="oxmc_git" revision="1.11.0" />
<project path="prebuilts/application_libs/ktor" name="PawletOS/prebuilt_libs_ktor" remote="oxmc_git" revision="3.5.0" />
<project path="prebuilts/application_libs/lottie" name="PawletOS/prebuilt_libs_lottie" remote="oxmc_git" revision="6.7.1" />
<project path="prebuilts/application_libs/moshi" name="PawletOS/prebuilt_libs_moshi" remote="oxmc_git" revision="1.15.2" />
<project path="prebuilts/application_libs/okhttp" name="PawletOS/prebuilt_libs_okhttp" remote="oxmc_git" revision="5.4.0" />
<project path="prebuilts/application_libs/okio" name="PawletOS/prebuilt_libs_okio" remote="oxmc_git" revision="3.17.0" />
<project path="prebuilts/application_libs/retrofit" name="PawletOS/prebuilt_libs_retrofit" remote="oxmc_git" revision="3.0.0" />
<project path="prebuilts/application_libs/timber" name="PawletOS/prebuilt_libs_timber" remote="oxmc_git" revision="5.0.1" />
<project path="prebuilts/application_libs/zxing" name="PawletOS/prebuilt_libs_zxing" remote="oxmc_git" revision="3.5.4" />
<!-- Custom prebuilt libraries (not managed by maven-to-lib) -->
<project path="prebuilts/application_libs/androiddeviceinfo" name="PawletOS/prebuilt_libs_androiddeviceinfo" remote="oxmc_git" revision="android-16.0" />
<!-- Third party apps -->
<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>
-28
View File
@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="device/amlogic/yukawa" />
<remove-project name="device/amlogic/yukawa-kernel" />
<remove-project name="device/google/common/etm" />
<remove-project name="device/google/contexthub" />
<remove-project name="device/google/trout" />
<remove-project name="device/linaro/dragonboard" />
<remove-project name="device/linaro/dragonboard-kernel" />
<remove-project name="device/linaro/hikey" />
<remove-project name="device/linaro/hikey-kernel" />
<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" />
<remove-project name="platform/hardware/st/secure_element" />
<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" />
</manifest>
-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Webview Patches -->
<remove-project name="platform/external/chromium-webview" />
<project path="external/chromium-webview/patches" name="LineageOS/android_external_chromium-webview_patches" remote="github" revision="main" >
<linkfile src="os_pickup.bp" dest="external/chromium-webview/Android.bp" />
<linkfile src="README" dest="external/chromium-webview/README" />
</project>
<project path="external/chromium-webview/prebuilt/arm" name="LineageOS/android_external_chromium-webview_prebuilt_arm" remote="github" revision="main" />
<project path="external/chromium-webview/prebuilt/arm64" name="LineageOS/android_external_chromium-webview_prebuilt_arm64" remote="github" revision="main" />
<!--<project path="external/chromium-webview/prebuilt/x86" name="LineageOS/android_external_chromium-webview_prebuilt_x86" remote="github" revision="main" />
<project path="external/chromium-webview/prebuilt/x86_64" name="LineageOS/android_external_chromium-webview_prebuilt_x86_64" remote="github" revision="main" />-->
</manifest>
@@ -1,21 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Raspberry Pi -->
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-16.0" />
<project path="device/brcm/rpi5-kernel" name="raspberry-vanilla/android_device_brcm_rpi5-kernel" remote="github" revision="android-16.0" />
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-16.0" />
<remote name="github" fetch="https://github.com/" />
<!-- Raspberry Pi utils -->
<!--<project path="external/raspberrypi-utils" name="raspberry-vanilla/android_external_raspberrypi-utils" remote="github" revision="android-16.0" />-->
<!-- Raspberry Pi -->
<project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-15.0" >
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi4-wrimg.sh" />
</project>
<project path="device/brcm/rpi5" name="raspberry-vanilla/android_device_brcm_rpi5" remote="github" revision="android-15.0" >
<linkfile src="mkimg.sh" dest="rpi5-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi5-wrimg.sh" />
</project>
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-15.0" />
<project path="device/brcm/rpi5-kernel" name="raspberry-vanilla/android_device_brcm_rpi5-kernel" remote="github" revision="android-15.0" />
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-15.0" />
<!-- Audio -->
<project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-16.0" />
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-16.0" />
<project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-15.0" />
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-15.0" />
<!-- Build -->
<remove-project name="platform/build" />
<remove-project name="platform/build/soong" />
<project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-16.0" >
<project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-15.0" >
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
<linkfile src="core" dest="build/core" />
@@ -23,39 +30,36 @@
<linkfile src="target" dest="build/target" />
<linkfile src="tools" dest="build/tools" />
</project>
<project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-16.0" >
<project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-15.0" >
<linkfile src="root.bp" dest="Android.bp" />
<linkfile src="bootstrap.bash" dest="bootstrap.bash" />
</project>
<!-- Camera -->
<remove-project name="platform/external/libcamera" />
<project path="external/libcamera" name="PawletOS/external_libcamera" remote="oxmc_git" revision="android-17.0" />
<project path="external/libpisp" name="raspberry-vanilla/android_external_libpisp" remote="github" revision="android-16.0" />
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-16.0" />
<project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-15.0" />
<project path="external/libpisp" name="raspberry-vanilla/android_external_libpisp" remote="github" revision="android-15.0" />
<project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" remote="github" revision="android-15.0" />
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-15.0" />
<!-- FFmpeg -->
<remove-project name="platform/external/libudev-zero" />
<project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-16.0" />
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-16.0" />
<project path="external/libudev-zero" name="PawletOS/external_libudev-zero" remote="oxmc_git" revision="android-17.0" />
<project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-15.0" />
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-15.0" />
<project path="external/libudev-zero" name="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-15.0" />
<!-- Graphics -->
<remove-project name="platform/external/drm_hwcomposer" />
<remove-project name="platform/external/minigbm" />
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-16.0" />
<project path="external/mesa3d-rpi" name="raspberry-vanilla/android_external_mesa3d-rpi" remote="github" revision="android-16.0" />
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-16.0" />
<!-- ninja-to-soong -->
<remove-project name="platform/external/rust/ninja-to-soong" />
<project path="external/rust/ninja-to-soong" name="raspberry-vanilla/android_external_rust_ninja-to-soong" remote="github" revision="android-16.0" />
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-15.0" />
<project path="external/libdisplay-info" name="platform/external/libdisplay-info" remote="aosp" revision="26677e2a01d937c837cb1789a776463ed18263ac" />
<project path="external/mesa3d-rpi" name="raspberry-vanilla/android_external_mesa3d-rpi" remote="github" revision="android-15.0" />
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-15.0" />
<!-- v4l2_codec2 -->
<remove-project name="platform/external/v4l2_codec2" />
<project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-16.0" />
<project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-15.0" />
<!-- V4L utils -->
<!--<remove-project name="platform/external/v4l-utils" />
<project path="external/v4l-utils" name="raspberry-vanilla/android_external_v4l-utils" remote="github" revision="android-16.0" />-->
</manifest>
<!-- Wifi -->
<remove-project name="platform/packages/modules/Wifi" />
<project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-15.0" />
</manifest>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="https://github.com/" />
<!-- Utilities -->
<project path="external/raspberrypi-utils" name="raspberry-vanilla/android_external_raspberrypi-utils" remote="github" revision="android-15.0" />
<project path="external/v4l-utils" name="raspberry-vanilla/android_external_v4l-utils" remote="github" revision="android-15.0" />
</manifest>
+67
View File
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="device/google/akita" />
<remove-project name="device/google/akita-sepolicy" />
<remove-project name="device/google/akita-kernels/6.1" />
<remove-project name="device/amlogic/yukawa" />
<remove-project name="device/amlogic/yukawa-kernel" />
<remove-project name="device/google/bluejay" />
<remove-project name="device/google/bluejay-sepolicy" />
<remove-project name="device/google/bluejay-kernels/6.1" />
<remove-project name="device/google/caimito" />
<remove-project name="device/google/caimito-kernels/6.1" />
<remove-project name="device/google/caimito-sepolicy" />
<remove-project name="device/google/comet" />
<remove-project name="device/google/comet-kernels/6.1" />
<remove-project name="device/google/comet-sepolicy" />
<remove-project name="device/google/common/etm" />
<remove-project name="device/google/contexthub" />
<remove-project name="device/google/felix" />
<remove-project name="device/google/felix-sepolicy" />
<remove-project name="device/google/felix-kernels/6.1" />
<remove-project name="device/google/gs101" />
<remove-project name="device/google/gs101-sepolicy" />
<remove-project name="device/google/gs201" />
<remove-project name="device/google/gs201-sepolicy" />
<remove-project name="device/google/gs-common" />
<remove-project name="device/google/lynx" />
<remove-project name="device/google/lynx-sepolicy" />
<remove-project name="device/google/lynx-kernels/6.1" />
<remove-project name="device/google/pantah" />
<remove-project name="device/google/pantah-sepolicy" />
<remove-project name="device/google/pantah-kernels/6.1" />
<remove-project name="device/google/raviole" />
<remove-project name="device/google/raviole-kernels/6.1" />
<remove-project name="device/google/tangorpro" />
<remove-project name="device/google/tangorpro-sepolicy" />
<remove-project name="device/google/tangorpro-kernels/6.1" />
<remove-project name="device/google/shusky" />
<remove-project name="device/google/shusky-sepolicy" />
<remove-project name="device/google/shusky-kernels/6.1" />
<remove-project name="device/google/trout" />
<remove-project name="device/google/zuma" />
<remove-project name="device/google/zuma-sepolicy" />
<remove-project name="device/google/zumapro" />
<remove-project name="device/google/zumapro-sepolicy" />
<remove-project name="device/linaro/dragonboard" />
<remove-project name="device/linaro/dragonboard-kernel" />
<remove-project name="device/linaro/hikey" />
<remove-project name="device/linaro/hikey-kernel" />
<remove-project name="device/linaro/poplar" />
<remove-project name="device/linaro/poplar-kernel" />
<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/uwb" />
<remove-project name="platform/hardware/nxp/secure_element" />
<remove-project name="platform/hardware/nxp/weaver" />
<remove-project name="platform/hardware/qcom/wlan" />
<remove-project name="platform/hardware/st/secure_element" />
<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/ti/am57x" />
<remove-project name="platform/prebuilts/bazel/darwin-x86_64" />
<remove-project name="platform/prebuilts/clang/host/darwin-x86" />
<remove-project name="platform/prebuilts/go/darwin-x86" />
</manifest>
-88
View File
@@ -1,88 +0,0 @@
### 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
@@ -1,13 +0,0 @@
<?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
@@ -1,17 +0,0 @@
# Android 17.0.0_r1 local manifest for PawletOS on Raspberry Pi
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
-13
View File
@@ -1,13 +0,0 @@
# Android 17.0.0_r1 local manifest for PawletOS on Raspberry Pi
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