Device specific configuration to build AOSP Android 14 for Raspberry Pi 4 and Raspberry Pi 5.
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.
How to build (Ubuntu 22.04 LTS):
-
Establish Android build environment.
-
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
- Initialize repo:
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r34
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
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
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/remove_projects.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.0.0_r34/remove_projects.xml
- Sync source code:
repo sync
- Setup Android build environment:
. build/envsetup.sh
- Select the device (
rpi4
orrpi5
) and build target (tablet UI,tv
for Android TV, orcar
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
- Compile:
make bootimage systemimage vendorimage -j$(nproc)
- Make flashable image for the device (
rpi4
orrpi5
):
./rpi4-mkimg.sh
./rpi5-mkimg.sh
Also look into Linux kernel build instructions.
Issues:
Wiki:
Description