Device specific configuration to build AOSP Android 14 for Raspberry Pi 4 and Raspberry Pi 5.


How to build:

  1. Establish Android build environment and install repo.

  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
  1. Initialize repo:
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r30
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.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-14.0.0_r30 --depth=1
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.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-14.0/remove_projects.xml
  1. Sync source code:
repo sync
  1. Setup Android build environment:
. build/envsetup.sh
  1. Select the device (rpi4 or rpi5) and build target (tablet UI, tv for Android TV, or car for Android Automotive):
lunch aosp_rpi4-ap1a-userdebug
lunch aosp_rpi4_tv-ap1a-userdebug
lunch aosp_rpi4_car-ap1a-userdebug
lunch aosp_rpi5-ap1a-userdebug
lunch aosp_rpi5_tv-ap1a-userdebug
lunch aosp_rpi5_car-ap1a-userdebug
  1. Compile:
make bootimage systemimage vendorimage -j$(nproc)
  1. Make flashable image for the device (rpi4 or rpi5):
./rpi4-mkimg.sh
./rpi5-mkimg.sh

Also look into Linux kernel build instructions.


Issues:


Wiki: