4 Commits

Author SHA1 Message Date
Konsta
48deab13a6 add note that this branch is no longer maintained 2024-10-22 13:11:06 +03:00
Konsta
1451a5e52f rename dav1d -> libdav1d
* Google has added option for using libdav1d for AV1 software decoding
  in future Android versions (excellent idea wherever they got it ;)).
* Rename the repo to follow AOSP naming convention.
2023-11-24 14:53:34 +02:00
Konsta
a3c2d847d0 wiki: add utilities 2023-11-04 16:18:19 +02:00
Konsta
38e1bb42e6 remove unneeded curl arguments 2023-11-04 13:38:47 +02:00
4 changed files with 66 additions and 79 deletions

View File

@@ -1,12 +1,12 @@
### Device specific configuration to build AOSP Android 14 for Raspberry Pi 4 and Raspberry Pi 5. ### Device specific configuration to build AOSP Android 13 for Raspberry Pi 4.
*** ***
NOTE: Raspberry Vanilla `android-14.0.0_r34` 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. NOTE: Raspberry Vanilla `android-13.0` branch is no longer maintained. Consider using newer AOSP versions.
### How to build (Ubuntu 22.04 LTS): ### How to build:
1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements). 1. Establish [Android build environment](https://source.android.com/setup/initializing) and install [repo](https://source.android.com/docs/setup/develop#installing-repo).
2. Install additional packages: 2. Install additional packages:
@@ -18,16 +18,16 @@ sudo pip3 install meson mako jinja2 ply pyyaml dataclasses
3. Initialize repo: 3. Initialize repo:
``` ```
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r34 repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r75
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.0.0_r34/manifest_brcm_rpi.xml --create-dirs curl -o .repo/local_manifests/manifest_brcm_rpi4.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-13.0/manifest_brcm_rpi4.xml --create-dirs
``` ```
Or optionally, you can reduce download size by creating a shallow clone and removing unneeded projects: 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-14.0.0_r34 --depth=1 repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r75 --depth=1
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.0.0_r34/manifest_brcm_rpi.xml --create-dirs curl -o .repo/local_manifests/manifest_brcm_rpi4.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-13.0/manifest_brcm_rpi4.xml --create-dirs
curl -o .repo/local_manifests/remove_projects.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.0.0_r34/remove_projects.xml curl -o .repo/local_manifests/remove_projects.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-13.0/remove_projects.xml
``` ```
4. Sync source code: 4. Sync source code:
@@ -42,43 +42,35 @@ repo sync
. build/envsetup.sh . build/envsetup.sh
``` ```
6. Select the device (`rpi4` or `rpi5`) and build target (tablet UI, `tv` for Android TV, or `car` for Android Automotive): 6. Select build target:
Tablet UI:
``` ```
lunch aosp_rpi4-ap1a-userdebug lunch aosp_rpi4-userdebug
``` ```
Android TV:
``` ```
lunch aosp_rpi4_tv-ap1a-userdebug lunch aosp_rpi4_tv-userdebug
``` ```
Android Automotive:
``` ```
lunch aosp_rpi4_car-ap1a-userdebug lunch aosp_rpi4_car-userdebug
```
```
lunch aosp_rpi5-ap1a-userdebug
```
```
lunch aosp_rpi5_tv-ap1a-userdebug
```
```
lunch aosp_rpi5_car-ap1a-userdebug
``` ```
7. Compile: 7. Compile:
``` ```
make bootimage systemimage vendorimage -j$(nproc) make bootimage systemimage vendorimage -j$(nproc)
``` ```
8. Make flashable image for the device (`rpi4` or `rpi5`): 8. Make flashable image:
``` ```
./rpi4-mkimg.sh ./rpi4-mkimg.sh
``` ```
```
./rpi5-mkimg.sh
```
Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-14.0). Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-13.0).
*** ***

View File

@@ -3,67 +3,59 @@
<remote name="github" fetch="https://github.com/" /> <remote name="github" fetch="https://github.com/" />
<!-- Raspberry Pi --> <!-- Raspberry Pi -->
<project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-14.0.0_r34" > <project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-13.0" >
<linkfile dest="rpi4-mkimg.sh" src="mkimg.sh" /> <linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
</project> </project>
<project path="device/brcm/rpi5" name="raspberry-vanilla/android_device_brcm_rpi5" remote="github" revision="android-14.0.0_r34" > <project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-13.0" />
<linkfile dest="rpi5-mkimg.sh" src="mkimg.sh" /> <project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-13.0" />
</project>
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-14.0" />
<project path="device/brcm/rpi5-kernel" name="raspberry-vanilla/android_device_brcm_rpi5-kernel" remote="github" revision="android-14.0" />
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-14.0" />
<!-- Audio --> <!-- Audio -->
<project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-14.0" /> <project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-13.0" />
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-14.0" /> <project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-13.0" />
<!-- Build --> <!-- Build -->
<remove-project name="platform/build" /> <remove-project name="platform/build" />
<remove-project name="platform/build/soong" /> <remove-project name="platform/build/soong" />
<project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-14.0.0_r34" > <project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-13.0" >
<linkfile dest="build/CleanSpec.mk" src="CleanSpec.mk" /> <linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
<linkfile dest="build/buildspec.mk.default" src="buildspec.mk.default" /> <linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
<linkfile dest="build/core" src="core" /> <linkfile src="core" dest="build/core" />
<linkfile dest="build/envsetup.sh" src="envsetup.sh" /> <linkfile src="envsetup.sh" dest="build/envsetup.sh" />
<linkfile dest="build/target" src="target" /> <linkfile src="target" dest="build/target" />
<linkfile dest="build/tools" src="tools" /> <linkfile src="tools" dest="build/tools" />
</project> </project>
<project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-14.0.0_r34" > <project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-13.0" >
<linkfile dest="Android.bp" src="root.bp" /> <linkfile src="root.bp" dest="Android.bp" />
<linkfile dest="bootstrap.bash" src="bootstrap.bash" /> <linkfile src="bootstrap.bash" dest="bootstrap.bash" />
</project> </project>
<!-- Camera --> <!-- Camera -->
<project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-14.0" /> <project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-13.0" />
<project path="external/libpisp" name="raspberry-vanilla/android_external_libpisp" remote="github" revision="android-14.0" /> <project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" remote="github" revision="android-13.0" />
<project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" remote="github" revision="android-14.0" /> <project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-13.0" />
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-14.0" />
<!-- FFmpeg --> <!-- FFmpeg -->
<remove-project name="platform/external/libdav1d" /> <project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-13.0" />
<project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-14.0" /> <project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-13.0" />
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-14.0" /> <project path="external/libdav1d" name="raspberry-vanilla/android_external_libdav1d" remote="github" revision="android-13.0" />
<project path="external/libdav1d" name="raspberry-vanilla/android_external_libdav1d" remote="github" revision="android-14.0" /> <project path="external/libudev-zero" name="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-13.0" />
<project path="external/libudev-zero" name="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-14.0" />
<!-- Graphics --> <!-- Graphics -->
<remove-project name="platform/external/drm_hwcomposer" /> <remove-project name="platform/external/drm_hwcomposer" />
<remove-project name="platform/external/libdrm" /> <remove-project name="platform/external/libdrm" />
<remove-project name="platform/external/mesa3d" /> <remove-project name="platform/external/mesa3d" />
<remove-project name="platform/external/minigbm" /> <remove-project name="platform/external/minigbm" />
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-14.0" /> <project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-13.0" />
<project path="external/libdrm" name="raspberry-vanilla/android_external_libdrm" remote="github" revision="android-14.0.0_r34" /> <project path="external/libdrm" name="raspberry-vanilla/android_external_libdrm" remote="github" revision="android-13.0" />
<project path="external/mesa3d" name="raspberry-vanilla/android_external_mesa3d" remote="github" revision="android-14.0" /> <project path="external/mesa3d" name="raspberry-vanilla/android_external_mesa3d" remote="github" revision="android-13.0" />
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-14.0.0_r34" /> <project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-13.0" />
<!-- v4l2_codec2 --> <!-- v4l2_codec2 -->
<remove-project name="platform/external/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-14.0.0_r34" /> <project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-13.0" />
<!-- Wifi --> <!-- Wifi -->
<remove-project name="platform/external/wpa_supplicant_8" />
<remove-project name="platform/packages/modules/Wifi" /> <remove-project name="platform/packages/modules/Wifi" />
<project path="external/wpa_supplicant_8" name="raspberry-vanilla/android_external_wpa_supplicant_8" remote="github" revision="android-14.0" /> <project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-13.0" />
<project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-14.0.0_r34" />
</manifest> </manifest>

View File

@@ -1,9 +0,0 @@
<?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-14.0" />
<project path="external/v4l-utils" name="raspberry-vanilla/android_external_v4l-utils" remote="github" revision="android-14.0" />
</manifest>

View File

@@ -37,21 +37,19 @@
<remove-project name="device/google/tangorpro" /> <remove-project name="device/google/tangorpro" />
<remove-project name="device/google/tangorpro-sepolicy" /> <remove-project name="device/google/tangorpro-sepolicy" />
<remove-project name="device/google/tangorpro-kernel" /> <remove-project name="device/google/tangorpro-kernel" />
<remove-project name="device/google/shusky" />
<remove-project name="device/google/shusky-sepolicy" />
<remove-project name="device/google/shusky-kernel" />
<remove-project name="device/google/sunfish" /> <remove-project name="device/google/sunfish" />
<remove-project name="device/google/sunfish-kernel" /> <remove-project name="device/google/sunfish-kernel" />
<remove-project name="device/google/sunfish-sepolicy" /> <remove-project name="device/google/sunfish-sepolicy" />
<remove-project name="device/google/trout" /> <remove-project name="device/google/trout" />
<remove-project name="device/google/zuma" />
<remove-project name="device/google/zuma-sepolicy" />
<remove-project name="device/linaro/dragonboard" /> <remove-project name="device/linaro/dragonboard" />
<remove-project name="device/linaro/dragonboard-kernel" /> <remove-project name="device/linaro/dragonboard-kernel" />
<remove-project name="device/linaro/hikey" /> <remove-project name="device/linaro/hikey" />
<remove-project name="device/linaro/hikey-kernel" /> <remove-project name="device/linaro/hikey-kernel" />
<remove-project name="device/linaro/poplar" /> <remove-project name="device/linaro/poplar" />
<remove-project name="device/linaro/poplar-kernel" /> <remove-project name="device/linaro/poplar-kernel" />
<remove-project name="device/mediatek/wembley-sepolicy" />
<remove-project name="device/ti/beagle-x15" />
<remove-project name="device/ti/beagle-x15-kernel" />
<remove-project name="platform/hardware/invensense" /> <remove-project name="platform/hardware/invensense" />
<remove-project name="platform/hardware/knowles/athletico/sound_trigger_hal" /> <remove-project name="platform/hardware/knowles/athletico/sound_trigger_hal" />
<remove-project name="platform/hardware/nxp/nfc" /> <remove-project name="platform/hardware/nxp/nfc" />
@@ -65,7 +63,21 @@
<remove-project name="platform/hardware/qcom/gps" /> <remove-project name="platform/hardware/qcom/gps" />
<remove-project name="platform/hardware/qcom/keymaster" /> <remove-project name="platform/hardware/qcom/keymaster" />
<remove-project name="platform/hardware/qcom/media" /> <remove-project name="platform/hardware/qcom/media" />
<remove-project name="platform/hardware/qcom/msm8960" />
<remove-project name="platform/hardware/qcom/msm8994" />
<remove-project name="platform/hardware/qcom/msm8996" />
<remove-project name="platform/hardware/qcom/msm8x09" />
<remove-project name="platform/hardware/qcom/msm8x26" />
<remove-project name="platform/hardware/qcom/msm8x27" />
<remove-project name="platform/hardware/qcom/msm8x84" />
<remove-project name="platform/hardware/qcom/power" /> <remove-project name="platform/hardware/qcom/power" />
<remove-project name="platform/hardware/qcom/sdm845/bt" />
<remove-project name="platform/hardware/qcom/sdm845/data/ipacfg-mgr" />
<remove-project name="platform/hardware/qcom/sdm845/display" />
<remove-project name="platform/hardware/qcom/sdm845/gps" />
<remove-project name="platform/hardware/qcom/sdm845/media" />
<remove-project name="platform/hardware/qcom/sdm845/thermal" />
<remove-project name="platform/hardware/qcom/sdm845/vr" />
<remove-project name="platform/hardware/qcom/sm7150/gps" /> <remove-project name="platform/hardware/qcom/sm7150/gps" />
<remove-project name="platform/hardware/qcom/sm7250/display" /> <remove-project name="platform/hardware/qcom/sm7250/display" />
<remove-project name="platform/hardware/qcom/sm7250/gps" /> <remove-project name="platform/hardware/qcom/sm7250/gps" />