Compare commits
168 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d07f33021 | |||
| 2a8e194e89 | |||
| 68b32ff1ca | |||
| d403b8b206 | |||
| 366d734c4d | |||
| 31996cdb2f | |||
| 635755f0c5 | |||
| 93975d37d0 | |||
| 2998666ac4 | |||
| b9ce54c538 | |||
| 70f902973a | |||
| 4066ede321 | |||
| 7a82b0480c | |||
| 79dd95ae27 | |||
| 305393fd97 | |||
| 72ed16c4ce | |||
| 2866acc508 | |||
| 65efb77c69 | |||
| 6e9124819b | |||
| 8790d153b5 | |||
| 5fd63523d9 | |||
| b77cd7e1d4 | |||
| b2a9fac3a8 | |||
| b641121239 | |||
| f80b92dcd4 | |||
| 78eedcea27 | |||
| deb5024480 | |||
| f4e547fdd1 | |||
| 461e7bff58 | |||
| 3a9b062197 | |||
| 1105c3504d | |||
| 89ff61735e | |||
| 76db5bea47 | |||
| 3cc8f6279f | |||
| 39e156621b | |||
| 731c83c1fb | |||
| 16b394917a | |||
| 3bcc62f489 | |||
| b9016d75cb | |||
| 601c731ed2 | |||
| a14834892b | |||
| f4d6064ca7 | |||
| 89f6e1ad5b | |||
| 4d514a1fce | |||
| 27ebd214b2 | |||
| 964aa90619 | |||
| 399727c379 | |||
| a745eae468 | |||
| 228cddc0ec | |||
| 71ccb63c77 | |||
| 0057c99179 | |||
| 1d45ccac8f | |||
| cadff8cede | |||
| ed944f5b7f | |||
| 54f50a46fa | |||
| 53b08afbc4 | |||
| 8bfbb8a79a | |||
| 5a9241007f | |||
| 83ff377c0f | |||
| f4edccdc89 | |||
| c2f32b977a | |||
| 6ce135b46e | |||
| 6bac253f0b | |||
| e88b4fc5e3 | |||
| dfe7966778 | |||
| 1f57329654 | |||
| 2eb80d1d74 | |||
| 7cd67d9c31 | |||
| bee2739f14 | |||
| 1aede1debc | |||
| cfb455b1bf | |||
| b561a59585 | |||
| 1e88ac9c33 | |||
| 045146f844 | |||
| 535c6c8d41 | |||
| 84ad5969bd | |||
| fb6f9fb045 | |||
| 9307522d91 | |||
| 3a610dfead | |||
| 3a558fd279 | |||
| aabe51e024 | |||
| 868607837d | |||
| 644a6889b5 | |||
| 342f04ac18 | |||
| a8d19f5b82 | |||
| 11b19141a6 | |||
| 673f0f5057 | |||
| fb665e2ea4 | |||
| 9c49354674 | |||
| 5572fab96a | |||
| 6a07e7e8b4 | |||
| 3279a3c23c | |||
| 38d84c8269 | |||
| d24f9649b4 | |||
| 3cbfa8cb81 | |||
| 8aafef3f5c | |||
| 6fa703d892 | |||
| bee5ad0812 | |||
| cc70f989cc | |||
| d483e0db5b | |||
| 9db220b8c2 | |||
| b803cac42f | |||
| 4a09697bcf | |||
| dafe2869ca | |||
| 59ed89e69f | |||
| 033c9ef8f0 | |||
| c92124e99f | |||
| 8866c52db4 | |||
| 5a2e49f138 | |||
| 2075f772c0 | |||
| 81770a60cf | |||
| bf41c157a7 | |||
| d144205dac | |||
| 48a533f1ca | |||
| 406ba1039d | |||
| 70159b3a40 | |||
| 9d2a2111da | |||
| 1fdad8d188 | |||
| fb684adf73 | |||
| 108289edef | |||
| 7125123e1f | |||
| fe3b579509 | |||
| 87592eac23 | |||
| 2487a9b518 | |||
| 3bd7ee3b65 | |||
| fd55325b32 | |||
| 129ef28a3f | |||
| 13804f976d | |||
| 8e616d6e1e | |||
| 53bbe9e04c | |||
| 8199f5864c | |||
| 470487ead2 | |||
| 658acd8304 | |||
| 4ebec5cc59 | |||
| fde661b131 | |||
| b383754ccd | |||
| fd60416790 | |||
| fb06d34358 | |||
| b264ffd4bd | |||
| f56d4e3e6e | |||
| ca7c981c4b | |||
| f3dfe83910 | |||
| cd6b8cf204 | |||
| 44db505f22 | |||
| b790d93bab | |||
| 765e7f2d97 | |||
| d84f513987 | |||
| 6ae8acffbd | |||
| e7c339459e | |||
| 0b06d20e60 | |||
| a9bbff2c52 | |||
| e63e7fc040 | |||
| 3bda82ae8c | |||
| a6af80b359 | |||
| ee932f2f03 | |||
| 7249cd5260 | |||
| 6d9c8a9b91 | |||
| c53a0f3021 | |||
| 78340f07ac | |||
| 3e569aed9e | |||
| 783d98c10d | |||
| a26dee09f8 | |||
| 592bc68db9 | |||
| fd4dc8530f | |||
| 53efc065d2 | |||
| b106c5f62b | |||
| 4d4882c1d8 | |||
| 552d88ade4 |
@@ -1,90 +1,22 @@
|
|||||||
### Device specific configuration to build AOSP Android 13 for Raspberry Pi 4.
|
### Android Manifests
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### How to build:
|
This repo holds manifests per project (except in the common folder) to build Android 17 for all supported devices that PawletOS targets.
|
||||||
|
|
||||||
1. Establish [Android build environment](https://source.android.com/setup/initializing) and install [repo](https://source.android.com/docs/setup/develop#installing-repo).
|
|
||||||
|
|
||||||
2. 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
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Initialize repo:
|
|
||||||
|
|
||||||
```
|
|
||||||
repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r75
|
|
||||||
curl --create-dirs -L -o .repo/local_manifests/manifest_brcm_rpi4.xml -O -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-13.0/manifest_brcm_rpi4.xml
|
|
||||||
```
|
|
||||||
|
|
||||||
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-13.0.0_r75 --depth=1
|
|
||||||
curl --create-dirs -L -o .repo/local_manifests/manifest_brcm_rpi4.xml -O -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-13.0/manifest_brcm_rpi4.xml
|
|
||||||
curl --create-dirs -L -o .repo/local_manifests/remove_projects.xml -O -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-13.0/remove_projects.xml
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Sync source code:
|
|
||||||
|
|
||||||
```
|
|
||||||
repo sync
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Setup Android build environment:
|
|
||||||
|
|
||||||
```
|
|
||||||
. build/envsetup.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
6. Select build target:
|
|
||||||
|
|
||||||
Tablet UI:
|
|
||||||
```
|
|
||||||
lunch aosp_rpi4-userdebug
|
|
||||||
```
|
|
||||||
|
|
||||||
Android TV:
|
|
||||||
```
|
|
||||||
lunch aosp_rpi4_tv-userdebug
|
|
||||||
```
|
|
||||||
|
|
||||||
Android Automotive:
|
|
||||||
```
|
|
||||||
lunch aosp_rpi4_car-userdebug
|
|
||||||
```
|
|
||||||
|
|
||||||
7. Compile:
|
|
||||||
```
|
|
||||||
make bootimage systemimage vendorimage -j$(nproc)
|
|
||||||
```
|
|
||||||
|
|
||||||
8. Make flashable image:
|
|
||||||
|
|
||||||
```
|
|
||||||
./rpi4-mkimg.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
Also look into [Linux kernel build instructions](https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-13.0).
|
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### Issues:
|
### Setup
|
||||||
|
|
||||||
- [Android](https://github.com/raspberry-vanilla/android_local_manifest/issues)
|
1. Install [`repo`](https://source.android.com/docs/setup/download#installing-repo).
|
||||||
- [Linux kernel](https://github.com/raspberry-vanilla/android_kernel_manifest/issues)
|
2. Establish an [Android build environment](https://source.android.com/docs/setup/start/requirements).
|
||||||
|
|
||||||
|
Each target below has its own build instructions (additional tools, repo init steps, lunch targets, etc).
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### Wiki:
|
### Supported targets
|
||||||
|
|
||||||
- [Audio](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Audio)
|
| Target | Description |
|
||||||
- [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)
|
| [rpi](rpi/) | Raspberry Pi 4 and Raspberry Pi 5 |
|
||||||
- [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)
|
|
||||||
- [Video decoding & encoding](https://github.com/raspberry-vanilla/android_local_manifest/wiki/Video-decoding-&-encoding)
|
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<manifest>
|
||||||
|
<!-- Remotes -->
|
||||||
|
<remote name="github" fetch="https://github.com/" />
|
||||||
|
<remote name="oxmc_git" fetch="https://git.oxmc.me/" />
|
||||||
|
<remote name="aosp_git" fetch="https://android.googlesource.com" />
|
||||||
|
|
||||||
|
<!-- PawletOS Overlays -->
|
||||||
|
<project path="vendor/pawlet/fonts/ArcticonsSans" name="PawletOS/fonts_ArcticonsSans" remote="oxmc_git" revision="main" />
|
||||||
|
|
||||||
|
<!-- Framework API Extensions -->
|
||||||
|
<project path="vendor/pawlet/frameworks/pawlet" name="PawletOS/frameworks_pawlet" remote="oxmc_git" revision="main" />
|
||||||
|
|
||||||
|
<!-- TWRP Recovery — disabled until TWRP supports Android 16 (latest upstream is android-14.1).
|
||||||
|
<remove-project name="platform/bootable/recovery" />
|
||||||
|
<project path="bootable/recovery" name="PawletOS/android_bootable_recovery" remote="oxmc_git" revision="twrp-11" />
|
||||||
|
<project path="vendor/pawlet/twrp_recovery" name="PawletOS/twrp_recovery" remote="oxmc_git" revision="android-16" />
|
||||||
|
<project path="vendor/twrp" name="PawletOS/android_vendor_twrp" remote="oxmc_git" revision="android-14.1" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Vendor (HALs, system apps, etc.) -->
|
||||||
|
<project path="vendor/pawlet" name="PawletOS/android_vendor_pawlet" remote="oxmc_git" revision="android-17.0" />
|
||||||
|
|
||||||
|
<!-- Patches (applied post-sync by PawletOS-Build/environ.py) -->
|
||||||
|
<project path="vendor/pawlet/patches" name="PawletOS/patches" remote="oxmc_git" revision="android-16.0" />
|
||||||
|
|
||||||
|
<!-- update_engine: LineageOS fork commented out until OTA implementation is finalised.
|
||||||
|
LineageOS fork (lineage-22.2) targets Android 15 — build compatibility with Android 16
|
||||||
|
is unverified and the LineageOS-specific patches (OTA server format, signing) are not
|
||||||
|
yet needed for PawletOS. Re-enable once PawletUpdater OTA flow is implemented and
|
||||||
|
the fork is validated against Android 16, or a lineage-23+ branch is available.
|
||||||
|
<remove-project name="platform/system/update_engine" />
|
||||||
|
<project path="system/update_engine" name="LineageOS/android_system_update_engine" remote="github" revision="lineage-22.2" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- First party apps -->
|
||||||
|
<project path="packages/apps/Updater" name="PawletOS/android_packages_apps_Updater" remote="oxmc_git" revision="android-17.0" />
|
||||||
|
<project path="packages/apps/SetupWizard" name="PawletOS/android_packages_apps_SetupWizard" remote="oxmc_git" revision="android-16.0" />
|
||||||
|
<project path="packages/apps/ConfigProvisioner" name="PawletOS/app_ConfigProvisioner" remote="oxmc_git" revision="main" />
|
||||||
|
<project path="packages/apps/PawletSettings" name="PawletOS/app_PawletSettings" remote="oxmc_git" revision="main" />
|
||||||
|
<project path="packages/apps/BgUpd" name="PawletOS/android_packages_apps_BgUpd" remote="oxmc_git" revision="android-17.0" />
|
||||||
|
|
||||||
|
<!-- MicroG -->
|
||||||
|
<project path="vendor/partner_gms" name="PawletOS/vendor_partner_gms" remote="oxmc_git" revision="master" />
|
||||||
|
|
||||||
|
<!-- Prebuilt libraries (managed by maven-to-lib; revision = artifact version) -->
|
||||||
|
<project path="prebuilts/application_libs/accompanist" name="PawletOS/prebuilt_libs_accompanist" remote="oxmc_git" revision="0.37.3" />
|
||||||
|
<project path="prebuilts/application_libs/coil" name="PawletOS/prebuilt_libs_coil" remote="oxmc_git" revision="3.5.0" />
|
||||||
|
<project path="prebuilts/application_libs/commons" name="PawletOS/prebuilt_libs_commons" remote="oxmc_git" revision="3.20.0" />
|
||||||
|
<project path="prebuilts/application_libs/glide" name="PawletOS/prebuilt_libs_glide" remote="oxmc_git" revision="5.0.7" />
|
||||||
|
<project path="prebuilts/application_libs/jsoup" name="PawletOS/prebuilt_libs_jsoup" remote="oxmc_git" revision="1.22.2" />
|
||||||
|
<project path="prebuilts/application_libs/koin" name="PawletOS/prebuilt_libs_koin" remote="oxmc_git" revision="4.2.2" />
|
||||||
|
<project path="prebuilts/application_libs/kotlinx-serialization" name="PawletOS/prebuilt_libs_kotlinx-serialization" remote="oxmc_git" revision="1.11.0" />
|
||||||
|
<project path="prebuilts/application_libs/ktor" name="PawletOS/prebuilt_libs_ktor" remote="oxmc_git" revision="3.5.0" />
|
||||||
|
<project path="prebuilts/application_libs/lottie" name="PawletOS/prebuilt_libs_lottie" remote="oxmc_git" revision="6.7.1" />
|
||||||
|
<project path="prebuilts/application_libs/moshi" name="PawletOS/prebuilt_libs_moshi" remote="oxmc_git" revision="1.15.2" />
|
||||||
|
<project path="prebuilts/application_libs/okhttp" name="PawletOS/prebuilt_libs_okhttp" remote="oxmc_git" revision="5.4.0" />
|
||||||
|
<project path="prebuilts/application_libs/okio" name="PawletOS/prebuilt_libs_okio" remote="oxmc_git" revision="3.17.0" />
|
||||||
|
<project path="prebuilts/application_libs/retrofit" name="PawletOS/prebuilt_libs_retrofit" remote="oxmc_git" revision="3.0.0" />
|
||||||
|
<project path="prebuilts/application_libs/timber" name="PawletOS/prebuilt_libs_timber" remote="oxmc_git" revision="5.0.1" />
|
||||||
|
<project path="prebuilts/application_libs/zxing" name="PawletOS/prebuilt_libs_zxing" remote="oxmc_git" revision="3.5.4" />
|
||||||
|
<!-- Custom prebuilt libraries (not managed by maven-to-lib) -->
|
||||||
|
<project path="prebuilts/application_libs/androiddeviceinfo" name="PawletOS/prebuilt_libs_androiddeviceinfo" remote="oxmc_git" revision="android-16.0" />
|
||||||
|
|
||||||
|
<!-- Third party apps -->
|
||||||
|
<project path="vendor/Lawnchair/LawnchairLauncher" name="PawletOS/prebuilt_lawnchair" remote="oxmc_git" revision="android-16.0" />
|
||||||
|
<project path="vendor/vivaldi/VivaldiBrowser" name="PawletOS/prebuilt_VivaldiBrowser" remote="oxmc_git" revision="main" />
|
||||||
|
<project path="vendor/floris/Florisboard" name="PawletOS/prebuilt_Florisboard" remote="oxmc_git" revision="main" />
|
||||||
|
</manifest>
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<manifest>
|
||||||
|
<remove-project name="device/amlogic/yukawa" />
|
||||||
|
<remove-project name="device/amlogic/yukawa-kernel" />
|
||||||
|
<remove-project name="device/google/common/etm" />
|
||||||
|
<remove-project name="device/google/contexthub" />
|
||||||
|
<remove-project name="device/google/trout" />
|
||||||
|
<remove-project name="device/linaro/dragonboard" />
|
||||||
|
<remove-project name="device/linaro/dragonboard-kernel" />
|
||||||
|
<remove-project name="device/linaro/hikey" />
|
||||||
|
<remove-project name="device/linaro/hikey-kernel" />
|
||||||
|
<remove-project name="platform/hardware/invensense" />
|
||||||
|
<remove-project name="platform/hardware/nxp/keymint" />
|
||||||
|
<remove-project name="platform/hardware/nxp/nfc" />
|
||||||
|
<remove-project name="platform/hardware/nxp/nxp_mcu_loader" />
|
||||||
|
<remove-project name="platform/hardware/nxp/uwb" />
|
||||||
|
<remove-project name="platform/hardware/nxp/secure_element" />
|
||||||
|
<remove-project name="platform/hardware/nxp/weaver" />
|
||||||
|
<remove-project name="platform/hardware/qcom/wlan" />
|
||||||
|
<remove-project name="platform/hardware/st/secure_element" />
|
||||||
|
<remove-project name="platform/hardware/st/secure_element2" />
|
||||||
|
<remove-project name="platform/hardware/samsung/nfc" />
|
||||||
|
<remove-project name="platform/hardware/synaptics/wlan" />
|
||||||
|
<remove-project name="platform/hardware/telink/atv/refDesignRcu" />
|
||||||
|
<remove-project name="platform/hardware/ti/am57x" />
|
||||||
|
<remove-project name="platform/prebuilts/clang/host/darwin-x86" />
|
||||||
|
<remove-project name="platform/prebuilts/go/darwin-x86" />
|
||||||
|
</manifest>
|
||||||
Vendored
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<manifest>
|
||||||
|
<!-- Webview Patches -->
|
||||||
|
<remove-project name="platform/external/chromium-webview" />
|
||||||
|
<project path="external/chromium-webview/patches" name="LineageOS/android_external_chromium-webview_patches" remote="github" revision="main" >
|
||||||
|
<linkfile src="os_pickup.bp" dest="external/chromium-webview/Android.bp" />
|
||||||
|
<linkfile src="README" dest="external/chromium-webview/README" />
|
||||||
|
</project>
|
||||||
|
<project path="external/chromium-webview/prebuilt/arm" name="LineageOS/android_external_chromium-webview_prebuilt_arm" remote="github" revision="main" />
|
||||||
|
<project path="external/chromium-webview/prebuilt/arm64" name="LineageOS/android_external_chromium-webview_prebuilt_arm64" remote="github" revision="main" />
|
||||||
|
<!--<project path="external/chromium-webview/prebuilt/x86" name="LineageOS/android_external_chromium-webview_prebuilt_x86" remote="github" revision="main" />
|
||||||
|
<project path="external/chromium-webview/prebuilt/x86_64" name="LineageOS/android_external_chromium-webview_prebuilt_x86_64" remote="github" revision="main" />-->
|
||||||
|
</manifest>
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<manifest>
|
|
||||||
<remove-project name="device/amlogic/yukawa" />
|
|
||||||
<remove-project name="device/amlogic/yukawa-kernel" />
|
|
||||||
<remove-project name="device/google/barbet" />
|
|
||||||
<remove-project name="device/google/barbet-sepolicy" />
|
|
||||||
<remove-project name="device/google/bluejay" />
|
|
||||||
<remove-project name="device/google/bluejay-sepolicy" />
|
|
||||||
<remove-project name="device/google/bluejay-kernel" />
|
|
||||||
<remove-project name="device/google/bramble" />
|
|
||||||
<remove-project name="device/google/bramble-sepolicy" />
|
|
||||||
<remove-project name="device/google/contexthub" />
|
|
||||||
<remove-project name="device/google/coral" />
|
|
||||||
<remove-project name="device/google/coral-kernel" />
|
|
||||||
<remove-project name="device/google/coral-sepolicy" />
|
|
||||||
<remove-project name="device/google/felix" />
|
|
||||||
<remove-project name="device/google/felix-sepolicy" />
|
|
||||||
<remove-project name="device/google/felix-kernel" />
|
|
||||||
<remove-project name="device/google/gs101" />
|
|
||||||
<remove-project name="device/google/gs101-sepolicy" />
|
|
||||||
<remove-project name="device/google/gs201" />
|
|
||||||
<remove-project name="device/google/gs201-sepolicy" />
|
|
||||||
<remove-project name="device/google/gs-common" />
|
|
||||||
<remove-project name="device/google/lynx" />
|
|
||||||
<remove-project name="device/google/lynx-sepolicy" />
|
|
||||||
<remove-project name="device/google/lynx-kernel" />
|
|
||||||
<remove-project name="device/google/pantah" />
|
|
||||||
<remove-project name="device/google/pantah-sepolicy" />
|
|
||||||
<remove-project name="device/google/pantah-kernel" />
|
|
||||||
<remove-project name="device/google/raviole" />
|
|
||||||
<remove-project name="device/google/raviole-kernel" />
|
|
||||||
<remove-project name="device/google/redbull" />
|
|
||||||
<remove-project name="device/google/redbull-kernel" />
|
|
||||||
<remove-project name="device/google/redbull-sepolicy" />
|
|
||||||
<remove-project name="device/google/redfin" />
|
|
||||||
<remove-project name="device/google/redfin-sepolicy" />
|
|
||||||
<remove-project name="device/google/tangorpro" />
|
|
||||||
<remove-project name="device/google/tangorpro-sepolicy" />
|
|
||||||
<remove-project name="device/google/tangorpro-kernel" />
|
|
||||||
<remove-project name="device/google/sunfish" />
|
|
||||||
<remove-project name="device/google/sunfish-kernel" />
|
|
||||||
<remove-project name="device/google/sunfish-sepolicy" />
|
|
||||||
<remove-project name="device/google/trout" />
|
|
||||||
<remove-project name="device/linaro/dragonboard" />
|
|
||||||
<remove-project name="device/linaro/dragonboard-kernel" />
|
|
||||||
<remove-project name="device/linaro/hikey" />
|
|
||||||
<remove-project name="device/linaro/hikey-kernel" />
|
|
||||||
<remove-project name="device/linaro/poplar" />
|
|
||||||
<remove-project name="device/linaro/poplar-kernel" />
|
|
||||||
<remove-project name="device/mediatek/wembley-sepolicy" />
|
|
||||||
<remove-project name="device/ti/beagle-x15" />
|
|
||||||
<remove-project name="device/ti/beagle-x15-kernel" />
|
|
||||||
<remove-project name="platform/hardware/invensense" />
|
|
||||||
<remove-project name="platform/hardware/knowles/athletico/sound_trigger_hal" />
|
|
||||||
<remove-project name="platform/hardware/nxp/nfc" />
|
|
||||||
<remove-project name="platform/hardware/nxp/secure_element" />
|
|
||||||
<remove-project name="platform/hardware/qcom/audio" />
|
|
||||||
<remove-project name="platform/hardware/qcom/bootctrl" />
|
|
||||||
<remove-project name="platform/hardware/qcom/bt" />
|
|
||||||
<remove-project name="platform/hardware/qcom/camera" />
|
|
||||||
<remove-project name="platform/hardware/qcom/data/ipacfg-mgr" />
|
|
||||||
<remove-project name="platform/hardware/qcom/display" />
|
|
||||||
<remove-project name="platform/hardware/qcom/gps" />
|
|
||||||
<remove-project name="platform/hardware/qcom/keymaster" />
|
|
||||||
<remove-project name="platform/hardware/qcom/media" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8960" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8994" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8996" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8x09" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8x26" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8x27" />
|
|
||||||
<remove-project name="platform/hardware/qcom/msm8x84" />
|
|
||||||
<remove-project name="platform/hardware/qcom/power" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/bt" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/data/ipacfg-mgr" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/display" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/gps" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/media" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/thermal" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sdm845/vr" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm7150/gps" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm7250/display" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm7250/gps" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm7250/media" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150/data/ipacfg-mgr" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150/display" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150/gps" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150/media" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150/thermal" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150/vr" />
|
|
||||||
<remove-project name="platform/hardware/qcom/sm8150p/gps" />
|
|
||||||
<remove-project name="platform/hardware/qcom/wlan" />
|
|
||||||
<remove-project name="platform/hardware/st/nfc" />
|
|
||||||
<remove-project name="platform/hardware/st/secure_element" />
|
|
||||||
<remove-project name="platform/hardware/st/secure_element2" />
|
|
||||||
<remove-project name="platform/hardware/samsung/nfc" />
|
|
||||||
<remove-project name="platform/hardware/synaptics/wlan" />
|
|
||||||
<remove-project name="platform/hardware/ti/am57x" />
|
|
||||||
<remove-project name="platform/prebuilts/bazel/darwin-x86_64" />
|
|
||||||
<remove-project name="platform/prebuilts/clang/host/darwin-x86" />
|
|
||||||
<remove-project name="platform/prebuilts/go/darwin-x86" />
|
|
||||||
</manifest>
|
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
### Device specific configuration to build AOSP Android 17 (android-17.0.0_r1) for Raspberry Pi 4 and Raspberry Pi 5.
|
||||||
|
Based on [RaspberryVanilla](https://github.com/raspberry-vanilla).
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### How to build (Ubuntu Server 26.04 LTS):
|
||||||
|
|
||||||
|
After setting up the [Android build environment](../README.md#setup), do:
|
||||||
|
|
||||||
|
1. Install additional packages:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt-get install dosfstools e2fsprogs gdisk kpartx mtools rsync
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Clone [PawletOS-Build](https://git.oxmc.me/PawletOS/PawletOS-Build) and install its dependencies:
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://git.oxmc.me/PawletOS/PawletOS-Build
|
||||||
|
cd PawletOS-Build
|
||||||
|
pip3 install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Download the `repo.yml` config for this target:
|
||||||
|
|
||||||
|
```
|
||||||
|
curl -o repo.yml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/repo.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
Or optionally, to reduce download size with a shallow clone:
|
||||||
|
|
||||||
|
```
|
||||||
|
curl -o repo.yml -L https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/repo-shallow.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Run the build script (clones source and syncs it based on `repo.yml`):
|
||||||
|
|
||||||
|
```
|
||||||
|
python3 ./environ.py --applyPatches
|
||||||
|
```
|
||||||
|
|
||||||
|
5. source the environment:
|
||||||
|
|
||||||
|
```
|
||||||
|
. AOSP-Source/build/envsetup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Select the device (`rpi4` or `rpi5`) and build target (normal, `tablet` for tablet, `tv` for Android TV, or `car` for Android Automotive):
|
||||||
|
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi4-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi4_tablet-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi4_tv-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi4_car-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi5-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi5_tablet-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi5_tv-cp2a-userdebug
|
||||||
|
```
|
||||||
|
```
|
||||||
|
lunch pawlet_rpi5_car-cp2a-userdebug
|
||||||
|
```
|
||||||
|
|
||||||
|
7. Compile:
|
||||||
|
|
||||||
|
```
|
||||||
|
make bootimage systemimage systemextimage vendorimage productimage -j$(nproc)
|
||||||
|
```
|
||||||
|
|
||||||
|
8. Make flashable image for the device (`rpi4` or `rpi5`):
|
||||||
|
|
||||||
|
```
|
||||||
|
./rpi4-mkimg.sh
|
||||||
|
```
|
||||||
|
```
|
||||||
|
./rpi5-mkimg.sh
|
||||||
|
```
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<manifest>
|
||||||
|
<!-- PawletOS devices -->
|
||||||
|
<project path="device/pawlet/rpi" name="PawletOS/pawlet_rpi_common" remote="oxmc_git" revision="android-16.0" />
|
||||||
|
<project path="device/pawlet/rpi4" name="PawletOS/pawlet_rpi4" remote="oxmc_git" revision="android-16.0">
|
||||||
|
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
|
||||||
|
<linkfile src="wrimg.sh" dest="rpi4-wrimg.sh" />
|
||||||
|
</project>
|
||||||
|
<project path="device/pawlet/rpi5" name="PawletOS/pawlet_rpi5" remote="oxmc_git" revision="android-16.0">
|
||||||
|
<linkfile src="mkimg.sh" dest="rpi5-mkimg.sh" />
|
||||||
|
<linkfile src="wrimg.sh" dest="rpi5-wrimg.sh" />
|
||||||
|
</project>
|
||||||
|
</manifest>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Android 17.0.0_r1 local manifest for PawletOS on Raspberry Pi
|
||||||
|
repo:
|
||||||
|
url: "https://android.googlesource.com/platform/manifest"
|
||||||
|
branch: "android-17.0.0_r1"
|
||||||
|
options:
|
||||||
|
- "--depth=1"
|
||||||
|
local_manifests:
|
||||||
|
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/pawletos.xml"
|
||||||
|
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/vendor/brcm_rpi.xml"
|
||||||
|
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/vendor/lineageos.xml"
|
||||||
|
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/pawletos.xml"
|
||||||
|
remove_projects:
|
||||||
|
- "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/remove_projects.xml"
|
||||||
|
|
||||||
|
patches:
|
||||||
|
dirs:
|
||||||
|
- vendor/pawlet/patches
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Android 17.0.0_r1 local manifest for PawletOS on Raspberry Pi
|
||||||
|
repo:
|
||||||
|
url: "https://android.googlesource.com/platform/manifest"
|
||||||
|
branch: "android-17.0.0_r1"
|
||||||
|
local_manifests:
|
||||||
|
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/pawletos.xml"
|
||||||
|
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/vendor/brcm_rpi.xml"
|
||||||
|
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/common/vendor/lineageos.xml"
|
||||||
|
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-17.0/rpi/pawletos.xml"
|
||||||
|
|
||||||
|
patches:
|
||||||
|
dirs:
|
||||||
|
- vendor/pawlet/patches
|
||||||
+29
-29
@@ -1,22 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<manifest>
|
<manifest>
|
||||||
<remote name="github" fetch="https://github.com/" />
|
|
||||||
|
|
||||||
<!-- Raspberry Pi -->
|
<!-- Raspberry Pi -->
|
||||||
<project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-13.0" >
|
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-16.0" />
|
||||||
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
|
<project path="device/brcm/rpi5-kernel" name="raspberry-vanilla/android_device_brcm_rpi5-kernel" remote="github" revision="android-16.0" />
|
||||||
</project>
|
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-16.0" />
|
||||||
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-13.0" />
|
|
||||||
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-13.0" />
|
<!-- Raspberry Pi utils -->
|
||||||
|
<!--<project path="external/raspberrypi-utils" name="raspberry-vanilla/android_external_raspberrypi-utils" remote="github" revision="android-16.0" />-->
|
||||||
|
|
||||||
<!-- Audio -->
|
<!-- Audio -->
|
||||||
<project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-13.0" />
|
<project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-16.0" />
|
||||||
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-13.0" />
|
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-16.0" />
|
||||||
|
|
||||||
<!-- Build -->
|
<!-- Build -->
|
||||||
<remove-project name="platform/build" />
|
<remove-project name="platform/build" />
|
||||||
<remove-project name="platform/build/soong" />
|
<remove-project name="platform/build/soong" />
|
||||||
<project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-13.0" >
|
<project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-16.0" >
|
||||||
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
|
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
|
||||||
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
|
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
|
||||||
<linkfile src="core" dest="build/core" />
|
<linkfile src="core" dest="build/core" />
|
||||||
@@ -24,38 +23,39 @@
|
|||||||
<linkfile src="target" dest="build/target" />
|
<linkfile src="target" dest="build/target" />
|
||||||
<linkfile src="tools" dest="build/tools" />
|
<linkfile src="tools" dest="build/tools" />
|
||||||
</project>
|
</project>
|
||||||
<project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-13.0" >
|
<project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-16.0" >
|
||||||
<linkfile src="root.bp" dest="Android.bp" />
|
<linkfile src="root.bp" dest="Android.bp" />
|
||||||
<linkfile src="bootstrap.bash" dest="bootstrap.bash" />
|
<linkfile src="bootstrap.bash" dest="bootstrap.bash" />
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
<!-- Camera -->
|
<!-- Camera -->
|
||||||
<project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-13.0" />
|
<remove-project name="platform/external/libcamera" />
|
||||||
<project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" remote="github" revision="android-13.0" />
|
<project path="external/libcamera" name="PawletOS/external_libcamera" remote="oxmc_git" revision="android-17.0" />
|
||||||
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-13.0" />
|
<project path="external/libpisp" name="raspberry-vanilla/android_external_libpisp" remote="github" revision="android-16.0" />
|
||||||
|
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-16.0" />
|
||||||
|
|
||||||
<!-- FFmpeg -->
|
<!-- FFmpeg -->
|
||||||
<project path="external/dav1d" name="raspberry-vanilla/android_external_dav1d" remote="github" revision="android-13.0" />
|
<remove-project name="platform/external/libudev-zero" />
|
||||||
<project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-13.0" />
|
<project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-16.0" />
|
||||||
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-13.0" />
|
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-16.0" />
|
||||||
<project path="external/libudev-zero" name="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-13.0" />
|
<project path="external/libudev-zero" name="PawletOS/external_libudev-zero" remote="oxmc_git" revision="android-17.0" />
|
||||||
|
|
||||||
<!-- Graphics -->
|
<!-- Graphics -->
|
||||||
<remove-project name="platform/external/drm_hwcomposer" />
|
<remove-project name="platform/external/drm_hwcomposer" />
|
||||||
<remove-project name="platform/external/libdrm" />
|
|
||||||
<remove-project name="platform/external/mesa3d" />
|
|
||||||
<remove-project name="platform/external/minigbm" />
|
<remove-project name="platform/external/minigbm" />
|
||||||
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-13.0" />
|
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-16.0" />
|
||||||
<project path="external/libdrm" name="raspberry-vanilla/android_external_libdrm" remote="github" revision="android-13.0" />
|
<project path="external/mesa3d-rpi" name="raspberry-vanilla/android_external_mesa3d-rpi" remote="github" revision="android-16.0" />
|
||||||
<project path="external/mesa3d" name="raspberry-vanilla/android_external_mesa3d" remote="github" revision="android-13.0" />
|
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-16.0" />
|
||||||
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-13.0" />
|
|
||||||
|
<!-- ninja-to-soong -->
|
||||||
|
<remove-project name="platform/external/rust/ninja-to-soong" />
|
||||||
|
<project path="external/rust/ninja-to-soong" name="raspberry-vanilla/android_external_rust_ninja-to-soong" remote="github" revision="android-16.0" />
|
||||||
|
|
||||||
<!-- v4l2_codec2 -->
|
<!-- v4l2_codec2 -->
|
||||||
<remove-project name="platform/external/v4l2_codec2" />
|
<remove-project name="platform/external/v4l2_codec2" />
|
||||||
<project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-13.0" />
|
<project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-16.0" />
|
||||||
|
|
||||||
<!-- Wifi -->
|
|
||||||
<remove-project name="platform/packages/modules/Wifi" />
|
|
||||||
<project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-13.0" />
|
|
||||||
|
|
||||||
|
<!-- V4L utils -->
|
||||||
|
<!--<remove-project name="platform/external/v4l-utils" />
|
||||||
|
<project path="external/v4l-utils" name="raspberry-vanilla/android_external_v4l-utils" remote="github" revision="android-16.0" />-->
|
||||||
</manifest>
|
</manifest>
|
||||||
Reference in New Issue
Block a user