* 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.
99 lines
2.9 KiB
Markdown
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)
|