3 Commits

Author SHA1 Message Date
Konsta 6a019adecb add note that this branch is not maintained 2024-12-20 22:06:45 +02:00
Konsta 9fa8ae8c21 update link to AOSP documentation and note recommended build environment 2024-10-22 13:12:46 +03:00
Konsta 46bff33731 branch out android-14.0.0_r22 2024-04-04 16:55:19 +03:00
12 changed files with 259 additions and 313 deletions
+90 -11
View File
@@ -1,22 +1,101 @@
### Android Manifests
### Device specific configuration to build AOSP Android 14 for Raspberry Pi 4 and Raspberry Pi 5.
***
This repo holds manifests per project (except in the common folder) to build Android 17 for all supported devices that PawletOS targets.
NOTE: Raspberry Vanilla `android-14.0.0_r22` branch is not maintained. This branch was only created for backup purposes during Android QPR update. Using this branch is not supported. Consider using newer AOSP versions.
### 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 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-14.0.0_r22
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.0.0_r22/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-14.0.0_r22 --depth=1
curl -o .repo/local_manifests/manifest_brcm_rpi.xml -L https://raw.githubusercontent.com/raspberry-vanilla/android_local_manifest/android-14.0.0_r22/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-14.0.0_r22/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-userdebug
```
```
lunch aosp_rpi4_tv-userdebug
```
```
lunch aosp_rpi4_car-userdebug
```
```
lunch aosp_rpi5-userdebug
```
```
lunch aosp_rpi5_tv-userdebug
```
```
lunch aosp_rpi5_car-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-14.0).
***
### Setup
### Issues:
1. Install [`repo`](https://source.android.com/docs/setup/download#installing-repo).
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).
- [Android](https://github.com/raspberry-vanilla/android_local_manifest/issues)
- [Linux kernel](https://github.com/raspberry-vanilla/android_kernel_manifest/issues)
***
### Supported targets
### Wiki:
| Target | Description |
|---|---|
| [rpi](rpi/) | Raspberry Pi 4 and Raspberry Pi 5 |
- [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)
-69
View File
@@ -1,69 +0,0 @@
<?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>
-28
View File
@@ -1,28 +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/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>
-13
View File
@@ -1,13 +0,0 @@
<?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>
+68
View File
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="https://github.com/" />
<!-- Raspberry Pi -->
<project path="device/brcm/rpi4" name="raspberry-vanilla/android_device_brcm_rpi4" remote="github" revision="android-14.0.0_r22" >
<linkfile src="mkimg.sh" dest="rpi4-mkimg.sh" />
</project>
<project path="device/brcm/rpi5" name="raspberry-vanilla/android_device_brcm_rpi5" remote="github" revision="android-14.0.0_r22" >
<linkfile src="mkimg.sh" dest="rpi5-mkimg.sh" />
</project>
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-14.0" />
<project path="device/brcm/rpi5-kernel" name="raspberry-vanilla/android_device_brcm_rpi5-kernel" remote="github" revision="android-14.0" />
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-14.0" />
<!-- Audio -->
<project path="external/alsa-lib" name="raspberry-vanilla/android_external_alsa-lib" remote="github" revision="android-14.0" />
<project path="external/alsa-utils" name="raspberry-vanilla/android_external_alsa-utils" remote="github" revision="android-14.0" />
<!-- Build -->
<remove-project name="platform/build" />
<remove-project name="platform/build/soong" />
<project path="build/make" name="raspberry-vanilla/android_build" remote="github" revision="android-14.0.0_r22" >
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
<linkfile src="core" dest="build/core" />
<linkfile src="envsetup.sh" dest="build/envsetup.sh" />
<linkfile src="target" dest="build/target" />
<linkfile src="tools" dest="build/tools" />
</project>
<project path="build/soong" name="raspberry-vanilla/android_build_soong" remote="github" revision="android-14.0.0_r22" >
<linkfile src="root.bp" dest="Android.bp" />
<linkfile src="bootstrap.bash" dest="bootstrap.bash" />
</project>
<!-- Camera -->
<project path="external/libcamera" name="raspberry-vanilla/android_external_libcamera" remote="github" revision="android-14.0" />
<project path="external/libpisp" name="raspberry-vanilla/android_external_libpisp" remote="github" revision="android-14.0" />
<project path="external/libyaml" name="raspberry-vanilla/android_external_libyaml" remote="github" revision="android-14.0" />
<project path="external/libyuv_chromium" name="raspberry-vanilla/android_external_libyuv_chromium" remote="github" revision="android-14.0" />
<!-- FFmpeg -->
<project path="external/ffmpeg" name="raspberry-vanilla/android_external_ffmpeg" remote="github" revision="android-14.0.0_r22" />
<project path="external/ffmpeg_codec2" name="raspberry-vanilla/android_external_ffmpeg_codec2" remote="github" revision="android-14.0.0_r22" />
<project path="external/libdav1d" name="raspberry-vanilla/android_external_libdav1d" remote="github" revision="android-14.0" />
<project path="external/libudev-zero" name="raspberry-vanilla/android_external_libudev-zero" remote="github" revision="android-14.0" />
<!-- Graphics -->
<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" />
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-14.0" />
<project path="external/libdrm" name="raspberry-vanilla/android_external_libdrm" remote="github" revision="android-14.0" />
<project path="external/mesa3d" name="raspberry-vanilla/android_external_mesa3d" remote="github" revision="android-14.0" />
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-14.0.0_r22" />
<!-- 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-14.0.0_r22" />
<!-- Wifi -->
<remove-project name="platform/external/wpa_supplicant_8" />
<remove-project name="platform/packages/modules/Wifi" />
<project path="external/wpa_supplicant_8" name="raspberry-vanilla/android_external_wpa_supplicant_8" remote="github" revision="android-14.0.0_r22" />
<project path="packages/modules/Wifi" name="raspberry-vanilla/android_packages_modules_Wifi" remote="github" revision="android-14.0.0_r22" />
</manifest>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github" fetch="https://github.com/" />
<!-- Utilities -->
<project path="external/raspberrypi-utils" name="raspberry-vanilla/android_external_raspberrypi-utils" remote="github" revision="android-14.0" />
<project path="external/v4l-utils" name="raspberry-vanilla/android_external_v4l-utils" remote="github" revision="android-14.0" />
</manifest>
+92
View File
@@ -0,0 +1,92 @@
<?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/shusky" />
<remove-project name="device/google/shusky-sepolicy" />
<remove-project name="device/google/shusky-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/google/zuma" />
<remove-project name="device/google/zuma-sepolicy" />
<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/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/power" />
<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>
-88
View File
@@ -1,88 +0,0 @@
### 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
```
-13
View File
@@ -1,13 +0,0 @@
<?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>
-17
View File
@@ -1,17 +0,0 @@
# 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
-13
View File
@@ -1,13 +0,0 @@
# 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
-61
View File
@@ -1,61 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Raspberry Pi -->
<project path="device/brcm/rpi4-kernel" name="raspberry-vanilla/android_device_brcm_rpi4-kernel" remote="github" revision="android-16.0" />
<project path="device/brcm/rpi5-kernel" name="raspberry-vanilla/android_device_brcm_rpi5-kernel" remote="github" revision="android-16.0" />
<project path="vendor/brcm" name="raspberry-vanilla/proprietary_vendor_brcm" remote="github" revision="android-16.0" />
<!-- Raspberry Pi utils -->
<!--<project path="external/raspberrypi-utils" name="raspberry-vanilla/android_external_raspberrypi-utils" remote="github" revision="android-16.0" />-->
<!-- Audio -->
<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-16.0" />
<!-- Build -->
<remove-project name="platform/build" />
<remove-project name="platform/build/soong" />
<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="buildspec.mk.default" dest="build/buildspec.mk.default" />
<linkfile src="core" dest="build/core" />
<linkfile src="envsetup.sh" dest="build/envsetup.sh" />
<linkfile src="target" dest="build/target" />
<linkfile src="tools" dest="build/tools" />
</project>
<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="bootstrap.bash" dest="bootstrap.bash" />
</project>
<!-- Camera -->
<remove-project name="platform/external/libcamera" />
<project path="external/libcamera" name="PawletOS/external_libcamera" remote="oxmc_git" revision="android-17.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 -->
<remove-project name="platform/external/libudev-zero" />
<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-16.0" />
<project path="external/libudev-zero" name="PawletOS/external_libudev-zero" remote="oxmc_git" revision="android-17.0" />
<!-- Graphics -->
<remove-project name="platform/external/drm_hwcomposer" />
<remove-project name="platform/external/minigbm" />
<project path="external/drm_hwcomposer" name="raspberry-vanilla/android_external_drm_hwcomposer" remote="github" revision="android-16.0" />
<project path="external/mesa3d-rpi" name="raspberry-vanilla/android_external_mesa3d-rpi" remote="github" revision="android-16.0" />
<project path="external/minigbm" name="raspberry-vanilla/android_external_minigbm" remote="github" revision="android-16.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 -->
<remove-project name="platform/external/v4l2_codec2" />
<project path="external/v4l2_codec2" name="raspberry-vanilla/android_external_v4l2_codec2" remote="github" revision="android-16.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>