Compare commits
44 Commits
android-13
...
android-15
Author | SHA1 | Date | |
---|---|---|---|
|
74c068f5bd | ||
|
fc65dea5ab | ||
|
03c2070ba0 | ||
|
13804f976d | ||
|
8e616d6e1e | ||
|
53bbe9e04c | ||
|
8199f5864c | ||
|
470487ead2 | ||
|
658acd8304 | ||
|
4ebec5cc59 | ||
|
fde661b131 | ||
|
b383754ccd | ||
|
fd60416790 | ||
|
fb06d34358 | ||
|
b264ffd4bd | ||
|
f56d4e3e6e | ||
|
ca7c981c4b | ||
|
f3dfe83910 | ||
|
cd6b8cf204 | ||
|
44db505f22 | ||
|
b790d93bab | ||
|
765e7f2d97 | ||
|
d84f513987 | ||
|
6ae8acffbd | ||
|
e7c339459e | ||
|
0b06d20e60 | ||
|
a9bbff2c52 | ||
|
e63e7fc040 | ||
|
3bda82ae8c | ||
|
a6af80b359 | ||
|
ee932f2f03 | ||
|
7249cd5260 | ||
|
6d9c8a9b91 | ||
|
c53a0f3021 | ||
|
78340f07ac | ||
|
3e569aed9e | ||
|
783d98c10d | ||
|
a26dee09f8 | ||
|
592bc68db9 | ||
|
fd4dc8530f | ||
|
53efc065d2 | ||
|
b106c5f62b | ||
|
4d4882c1d8 | ||
|
552d88ade4 |
51
README.md
51
README.md
@@ -1,33 +1,30 @@
|
||||
### Device specific configuration to build AOSP Android 13 for Raspberry Pi 4.
|
||||
### Device specific configuration to build AOSP Android 15 for Raspberry Pi 4 and Raspberry Pi 5.
|
||||
|
||||
***
|
||||
|
||||
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/setup/initializing) and install [repo](https://source.android.com/docs/setup/develop#installing-repo).
|
||||
1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements).
|
||||
|
||||
2. Install additional packages:
|
||||
|
||||
```
|
||||
sudo apt-get install bc coreutils dosfstools e2fsprogs fdisk kpartx mtools ninja-build pkg-config python3-pip
|
||||
sudo pip3 install meson mako jinja2 ply pyyaml dataclasses
|
||||
sudo apt-get install dosfstools e2fsprogs fdisk kpartx mtools rsync
|
||||
```
|
||||
|
||||
3. Initialize repo:
|
||||
|
||||
```
|
||||
repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r75
|
||||
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
|
||||
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-13.0.0_r75 --depth=1
|
||||
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-13.0/remove_projects.xml
|
||||
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:
|
||||
@@ -42,35 +39,43 @@ repo sync
|
||||
. build/envsetup.sh
|
||||
```
|
||||
|
||||
6. Select build target:
|
||||
6. Select the device (`rpi4` or `rpi5`) and build target (tablet UI, `tv` for Android TV, or `car` for Android Automotive):
|
||||
|
||||
Tablet UI:
|
||||
```
|
||||
lunch aosp_rpi4-userdebug
|
||||
lunch aosp_rpi4-bp1a-userdebug
|
||||
```
|
||||
|
||||
Android TV:
|
||||
```
|
||||
lunch aosp_rpi4_tv-userdebug
|
||||
lunch aosp_rpi4_tv-bp1a-userdebug
|
||||
```
|
||||
|
||||
Android Automotive:
|
||||
```
|
||||
lunch aosp_rpi4_car-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:
|
||||
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-13.0).
|
||||
Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-15.0).
|
||||
|
||||
***
|
||||
|
||||
|
@@ -3,20 +3,26 @@
|
||||
<remote name="github" fetch="https://github.com/" />
|
||||
|
||||
<!-- Raspberry Pi -->
|
||||
<project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-13.0" >
|
||||
<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/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-13.0" />
|
||||
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-13.0" />
|
||||
<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-13.0" />
|
||||
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-13.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-13.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" />
|
||||
@@ -24,38 +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-13.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 -->
|
||||
<project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-13.0" />
|
||||
<project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" remote="github" revision="android-13.0" />
|
||||
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-13.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-13.0" />
|
||||
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-13.0" />
|
||||
<project path="external/libdav1d" name="raspberry-vanilla/android_external_libdav1d" remote="github" revision="android-13.0" />
|
||||
<project path="external/libudev-zero" name="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-13.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/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-13.0" />
|
||||
<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-13.0" />
|
||||
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-13.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-13.0" />
|
||||
<project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-15.0" />
|
||||
|
||||
<!-- Wifi -->
|
||||
<remove-project name="platform/packages/modules/Wifi" />
|
||||
<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-15.0" />
|
||||
|
||||
</manifest>
|
9
manifest_utilities.xml
Normal file
9
manifest_utilities.xml
Normal 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>
|
@@ -1,21 +1,24 @@
|
||||
<?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/barbet" />
|
||||
<remove-project name="device/google/barbet-sepolicy" />
|
||||
<remove-project name="device/google/bluejay" />
|
||||
<remove-project name="device/google/bluejay-sepolicy" />
|
||||
<remove-project name="device/google/bluejay-kernel" />
|
||||
<remove-project name="device/google/bramble" />
|
||||
<remove-project name="device/google/bramble-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/coral" />
|
||||
<remove-project name="device/google/coral-kernel" />
|
||||
<remove-project name="device/google/coral-sepolicy" />
|
||||
<remove-project name="device/google/felix" />
|
||||
<remove-project name="device/google/felix-sepolicy" />
|
||||
<remove-project name="device/google/felix-kernel" />
|
||||
<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" />
|
||||
@@ -23,74 +26,36 @@
|
||||
<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-kernel" />
|
||||
<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-kernel" />
|
||||
<remove-project name="device/google/pantah-kernels/6.1" />
|
||||
<remove-project name="device/google/raviole" />
|
||||
<remove-project name="device/google/raviole-kernel" />
|
||||
<remove-project name="device/google/redbull" />
|
||||
<remove-project name="device/google/redbull-kernel" />
|
||||
<remove-project name="device/google/redbull-sepolicy" />
|
||||
<remove-project name="device/google/redfin" />
|
||||
<remove-project name="device/google/redfin-sepolicy" />
|
||||
<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-kernel" />
|
||||
<remove-project name="device/google/sunfish" />
|
||||
<remove-project name="device/google/sunfish-kernel" />
|
||||
<remove-project name="device/google/sunfish-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="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/knowles/athletico/sound_trigger_hal" />
|
||||
<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/qcom/audio" />
|
||||
<remove-project name="platform/hardware/qcom/bootctrl" />
|
||||
<remove-project name="platform/hardware/qcom/bt" />
|
||||
<remove-project name="platform/hardware/qcom/camera" />
|
||||
<remove-project name="platform/hardware/qcom/data/ipacfg-mgr" />
|
||||
<remove-project name="platform/hardware/qcom/display" />
|
||||
<remove-project name="platform/hardware/qcom/gps" />
|
||||
<remove-project name="platform/hardware/qcom/keymaster" />
|
||||
<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/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/sm7250/display" />
|
||||
<remove-project name="platform/hardware/qcom/sm7250/gps" />
|
||||
<remove-project name="platform/hardware/qcom/sm7250/media" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150/data/ipacfg-mgr" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150/display" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150/gps" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150/media" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150/thermal" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150/vr" />
|
||||
<remove-project name="platform/hardware/qcom/sm8150p/gps" />
|
||||
<remove-project name="platform/hardware/nxp/weaver" />
|
||||
<remove-project name="platform/hardware/qcom/wlan" />
|
||||
<remove-project name="platform/hardware/st/nfc" />
|
||||
<remove-project name="platform/hardware/st/secure_element" />
|
||||
<remove-project name="platform/hardware/st/secure_element2" />
|
||||
<remove-project name="platform/hardware/samsung/nfc" />
|
||||
|
Reference in New Issue
Block a user