1 Commits

Author SHA1 Message Date
Konsta
bebf836be5 branch out android-15.0.0_r14 2025-03-06 13:58:53 +02:00
6 changed files with 119 additions and 94 deletions

View File

@@ -1,8 +1,9 @@
### Device specific configuration to build AOSP Android 16 for Raspberry Pi 4 and Raspberry Pi 5.
Based on [RaspberryVanilla](https://github.com/raspberry-vanilla).
### Device specific configuration to build AOSP Android 15 for Raspberry Pi 4 and Raspberry Pi 5.
***
NOTE: Raspberry Vanilla `android-15.0.0_r14` branch is not maintained. This branch was only created for backup purposes during Android QPR update. Using this branch is not supported. Consider using newer AOSP versions.
### How to build (Ubuntu 22.04 LTS):
1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements).
@@ -10,26 +11,23 @@ Based on [RaspberryVanilla](https://github.com/raspberry-vanilla).
2. Install additional packages:
```
sudo apt-get install dosfstools e2fsprogs fdisk kpartx mtools rsync
sudo apt-get install coreutils dosfstools e2fsprogs fdisk kpartx mtools ninja-build pkg-config python3-pip rsync
sudo pip3 install dataclasses jinja2 mako meson ply pyyaml
```
3. Initialize repo:
```
repo init -u https://android.googlesource.com/platform/manifest -b android-16.0.0_r1
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
repo init -u https://android.googlesource.com/platform/manifest -b android-15.0.0_r14
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-15.0.0_r14/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-16.0.0_r1 --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
repo init -u https://android.googlesource.com/platform/manifest -b android-15.0.0_r14 --depth=1
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-15.0.0_r14/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.0_r14/remove_projects.xml
```
4. Sync source code:
@@ -47,22 +45,22 @@ repo sync
6. Select the device (`rpi4` or `rpi5`) and build target (tablet UI, `tv` for Android TV, or `car` for Android Automotive):
```
lunch pawlet_rpi4-bp2a-userdebug
lunch aosp_rpi4-ap4a-userdebug
```
```
lunch pawlet_rpi4_tv-bp2a-userdebug
lunch aosp_rpi4_tv-ap4a-userdebug
```
```
lunch pawlet_rpi4_car-bp2a-userdebug
lunch aosp_rpi4_car-ap4a-userdebug
```
```
lunch pawlet_rpi5-bp2a-userdebug
lunch aosp_rpi5-ap4a-userdebug
```
```
lunch pawlet_rpi5_tv-bp2a-userdebug
lunch aosp_rpi5_tv-ap4a-userdebug
```
```
lunch pawlet_rpi5_car-bp2a-userdebug
lunch aosp_rpi5_car-ap4a-userdebug
```
7. Compile:
@@ -79,3 +77,25 @@ make bootimage systemimage vendorimage -j$(nproc)
```
./rpi5-mkimg.sh
```
Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-15.0).
***
### Issues:
- [Android](https://github.com/raspberry-vanilla/android_local_manifest/issues)
- [Linux kernel](https://github.com/raspberry-vanilla/android_kernel_manifest/issues)
***
### Wiki:
- [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)

View File

@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="https://github.com/" />
<!-- Raspberry Pi -->
<project path="device/brcm/rpi4" name="PawletOS/android_device_brcm_rpi4" remote="oxmc_git" revision="android-16.0" >
<project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-15.0.0_r14" >
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
<linkfile src="wrimg.sh" dest="rpi4-wrimg.sh" />
</project>
<project path="device/brcm/rpi5" name="PawletOS/android_device_brcm_rpi5" remote="oxmc_git" revision="android-16.0" >
<project path="device/brcm/rpi5" name="raspberry-vanilla/android_device_brcm_rpi5" remote="github" revision="android-15.0.0_r14" >
<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-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" />
<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.0_r14" >
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
<linkfile src="core" dest="build/core" />
@@ -28,34 +28,43 @@
<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.0_r14" >
<linkfile src="root.bp" dest="Android.bp" />
<linkfile src="bootstrap.bash" dest="bootstrap.bash" />
</project>
<!-- Camera -->
<project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-16.0" />
<project path="external/libpisp" name="raspberry-vanilla/android_external_libpisp" remote="github" revision="android-16.0" />
<project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" 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 -->
<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="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-16.0" />
<remove-project name="platform/external/libdav1d" />
<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/libdav1d" name="raspberry-vanilla/android_external_libdav1d" 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/libdrm" />
<remove-project name="platform/external/mesa3d" />
<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" />
<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/libdrm" name="raspberry-vanilla/android_external_libdrm" remote="github" revision="android-15.0.0_r14" />
<project path="external/mesa3d" name="raspberry-vanilla/android_external_mesa3d" remote="github" revision="android-15.0" />
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-15.0.0_r14" />
<!-- 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" />
<!-- Wifi -->
<remove-project name="platform/external/wpa_supplicant_8" />
<remove-project name="platform/packages/modules/Wifi" />
<project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-16.0" />
<project path="external/wpa_supplicant_8" name="raspberry-vanilla/android_external_wpa_supplicant_8" remote="github" revision="android-15.0.0_r14" />
<project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-15.0.0_r14" />
</manifest>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Raspberry Pi utils -->
<project path="external/raspberrypi-utils" name="raspberry-vanilla/android_external_raspberrypi-utils" remote="github" revision="android-16.0" />
<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" />
<!-- 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>

View File

@@ -1,26 +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 devices -->
<project path="device/pawlet/rpi" name="PawletOS/PawletRPI" remote="oxmc_git" revision="main" />
<!-- PawletOS Overlays -->
<project path="vendor/pawlet/overlays/FrameworkResOverlay" name="PawletOS/FrameworkResOverlay" remote="oxmc_git" revision="main" />
<project path="vendor/pawlet/fonts/ArcticonsSans" name="PawletOS/fonts_ArcticonsSans" remote="oxmc_git" revision="main" />
<!-- Framework API Extensions -->
<!--<project path="vendor/pawlet/framework-extension" name="PawletOS/FrameworkExtension" remote="oxmc_git" revision="main" />-->
<project path="frameworks/base/pawlet" name="PawletOS/FrameworkAPI" remote="oxmc_git" revision="main" />
<!-- First party apps -->
<project path="packages/apps/ConfigProvisioner" name="PawletOS/app_ConfigProvisioner" remote="oxmc_git" revision="main" />
<!-- Third party apps -->
<project path="vendor/lawnchair/Lawnchair" name="PawletOS/prebuilt_Lawnchair" remote="oxmc_git" revision="master" />
<project path="vendor/vivladi/VivladiBrowser" name="PawletOS/prebuilt_VivladiBrowser" remote="oxmc_git" revision="main" />
<project path="vendor/floris/Florisboard" name="PawletOS/prebuilt_Florisboard" remote="oxmc_git" revision="main" />
</manifest>

View File

@@ -1,14 +1,54 @@
<?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/5.15" />
<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/5.10" />
<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/5.10" />
<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/5.10" />
<remove-project name="device/google/pantah" />
<remove-project name="device/google/pantah-sepolicy" />
<remove-project name="device/google/pantah-kernels/5.10" />
<remove-project name="device/google/raviole" />
<remove-project name="device/google/raviole-kernels/5.10" />
<remove-project name="device/google/tangorpro" />
<remove-project name="device/google/tangorpro-sepolicy" />
<remove-project name="device/google/tangorpro-kernels/5.10" />
<remove-project name="device/google/shusky" />
<remove-project name="device/google/shusky-sepolicy" />
<remove-project name="device/google/shusky-kernels/5.15" />
<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" />

18
vendors/lineageos.xml vendored
View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Updater -->
<!--<project path="packages/apps/Updater" name="PawletOS/lineageos_updater" remote="oxmc_git" revision="lineage-22.2" />-->
<!-- Setup Wizard -->
<!--<project path="packages/apps/SetupWizard" name="PawletOS/lineageos_setupwizard" remote="oxmc_git" revision="lineage-22.2" />-->
<!-- Webview Patches -->
<!--<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>