100 lines
3.0 KiB
Markdown
100 lines
3.0 KiB
Markdown
### Device specific configuration to build AOSP Android 16 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 coreutils dosfstools e2fsprogs fdisk kpartx mtools ninja-build pkg-config python3-pip rsync
|
|
sudo pip3 install dataclasses jinja2 mako meson ply pyyaml
|
|
```
|
|
|
|
3. Initialize repo:
|
|
|
|
```
|
|
repo init -u https://android.googlesource.com/platform/manifest -b android-16.0.0_r1
|
|
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-16.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-16.0.0_r1 --depth=1
|
|
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-16.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-16.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-bp2a-userdebug
|
|
```
|
|
```
|
|
lunch aosp_rpi4_tv-bp2a-userdebug
|
|
```
|
|
```
|
|
lunch aosp_rpi4_car-bp2a-userdebug
|
|
```
|
|
```
|
|
lunch aosp_rpi5-bp2a-userdebug
|
|
```
|
|
```
|
|
lunch aosp_rpi5_tv-bp2a-userdebug
|
|
```
|
|
```
|
|
lunch aosp_rpi5_car-bp2a-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-16.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)
|