├── manifest_utilities.xml ├── remove_projects.xml ├── README.md └── manifest_brcm_rpi.xml /manifest_utilities.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /remove_projects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Device specific configuration to build AOSP Android 16 for Raspberry Pi 4 and Raspberry Pi 5. 2 | 3 | *** 4 | 5 | ### How to build (Ubuntu 22.04 LTS): 6 | 7 | 1. Establish [Android build environment](https://source.android.com/docs/setup/start/requirements). 8 | 9 | 2. Install additional packages: 10 | 11 | ``` 12 | sudo apt-get install dosfstools e2fsprogs fdisk kpartx mtools rsync 13 | ``` 14 | 15 | 3. Initialize repo: 16 | 17 | ``` 18 | repo init -u https://android.googlesource.com/platform/manifest -b android-16.0.0_r4 19 | 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 20 | ``` 21 | 22 | Or optionally, you can reduce download size by creating a shallow clone and removing unneeded projects: 23 | 24 | ``` 25 | repo init -u https://android.googlesource.com/platform/manifest -b android-16.0.0_r4 --depth=1 26 | 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 27 | curl -o .repo/local_manifests/remove_projects.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-16.0/remove_projects.xml 28 | ``` 29 | 30 | 4. Sync source code: 31 | 32 | ``` 33 | repo sync 34 | ``` 35 | 36 | 5. Setup Android build environment: 37 | 38 | ``` 39 | . build/envsetup.sh 40 | ``` 41 | 42 | 6. Select the device (`rpi4` or `rpi5`) and build target (tablet UI, `tv` for Android TV, or `car` for Android Automotive): 43 | 44 | ``` 45 | lunch aosp_rpi4-bp4a-userdebug 46 | ``` 47 | ``` 48 | lunch aosp_rpi4_tv-bp4a-userdebug 49 | ``` 50 | ``` 51 | lunch aosp_rpi4_car-bp4a-userdebug 52 | ``` 53 | ``` 54 | lunch aosp_rpi5-bp4a-userdebug 55 | ``` 56 | ``` 57 | lunch aosp_rpi5_tv-bp4a-userdebug 58 | ``` 59 | ``` 60 | lunch aosp_rpi5_car-bp4a-userdebug 61 | ``` 62 | 63 | 7. Compile: 64 | 65 | ``` 66 | make bootimage systemimage vendorimage -j$(nproc) 67 | ``` 68 | 69 | 8. Make flashable image for the device (`rpi4` or `rpi5`): 70 | 71 | ``` 72 | ./rpi4-mkimg.sh 73 | ``` 74 | ``` 75 | ./rpi5-mkimg.sh 76 | ``` 77 | 78 | Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-16.0). 79 | 80 | *** 81 | 82 | ### Issues: 83 | 84 | - [Android](https://github.com/raspberry-vanilla/android_local_manifest/issues) 85 | - [Linux kernel](https://github.com/raspberry-vanilla/android_kernel_manifest/issues) 86 | 87 | *** 88 | 89 | ### Wiki: 90 | 91 | - [Audio](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Audio) 92 | - [Desktop mode](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Desktop-mode) 93 | - [DSI display](https://github.com/raspberry-vanilla/android_local_manifest/wiki/DSI-display) 94 | - [HDMI display](https://github.com/raspberry-vanilla/android_local_manifest/wiki/HDMI-display) 95 | - [HDMI-CEC](https://github.com/raspberry-vanilla/android_local_manifest/wiki/HDMI-CEC) 96 | - [Interfaces](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Interfaces) 97 | - [USB boot](https://github.com/raspberry-vanilla/android_local_manifest/wiki/USB-boot) 98 | - [Utilities](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Utilities) 99 | - [Video decoding & encoding](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Video-decoding-&-encoding) 100 | -------------------------------------------------------------------------------- /manifest_brcm_rpi.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | --------------------------------------------------------------------------------