Files
android_local_manifest/README.md
Konsta 74c068f5bd remove coreutils from additional packages
* This is installed on Ubuntu by default.
* dosfstools and mtools are required for custom mkbootimg.mk.
  e2fsprogs, fdisk, and kpartx are required for mkimg.sh.
  rsync is required for AOSP kernel build environment.
2025-06-27 12:23:50 +03:00

99 lines
2.9 KiB
Markdown

### Device specific configuration to build AOSP Android 15 for Raspberry Pi 4 and Raspberry Pi 5.
***
### How to build (Ubuntu 22.04 LTS):
1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements).
2. Install additional packages:
```
sudo apt-get install dosfstools e2fsprogs fdisk kpartx mtools rsync
```
3. Initialize repo:
```
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-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:
```
repo sync
```
5. Setup Android build environment:
```
. build/envsetup.sh
```
6. Select the device (`rpi4` or `rpi5`) and build target (tablet UI, `tv` for Android TV, or `car` for Android Automotive):
```
lunch aosp_rpi4-bp1a-userdebug
```
```
lunch aosp_rpi4_tv-bp1a-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 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-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)