commit 1cb71e1b422db201a2cacefeb0a69ba127a643f6 Author: Nicholas Andrew Date: Thu Aug 14 12:18:08 2025 -0400 Initial TWRP BringUP from DTgen plus basic setup diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..7cded69 --- /dev/null +++ b/Android.bp @@ -0,0 +1,6 @@ +// Copyright (C) 2024 The Android Open Source Project +// Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +// Copyright (C) 2019 - Current | A-Team Digital Solutions + +soong_namespace { +} diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..c47f26a --- /dev/null +++ b/Android.mk @@ -0,0 +1,9 @@ +# Copyright (C) 2024 The Android Open Source Project +# Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +# Copyright (C) 2019 - Current | A-Team Digital Solutions + +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),rtwo) +include $(call all-subdir-makefiles,$(LOCAL_PATH)) +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..81bdbd9 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,11 @@ +# Copyright (C) 2024 The Android Open Source Project +# Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +# Copyright (C) 2019 - Current | A-Team Digital Solutions + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/twrp_rtwo.mk + +COMMON_LUNCH_CHOICES := \ + twrp_rtwo-user \ + twrp_rtwo-userdebug \ + twrp_rtwo-eng diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..3ee818d --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,98 @@ +# Copyright (C) 2024 The Android Open Source Project +# Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +# Copyright (C) 2019 - Current | A-Team Digital Solutions + +DEVICE_PATH := device/motorola/rtwo + +# For building with minimal manifest +ALLOW_MISSING_DEPENDENCIES := true + +# A/B +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS += \ + vendor_dlkm \ + system_ext \ + system_dlkm \ + vendor \ + system \ + product +BOARD_USES_RECOVERY_AS_BOOT := true + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := generic +TARGET_CPU_VARIANT_RUNTIME := kryo385 + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := generic +TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385 + +# APEX +DEXPREOPT_GENERATE_APEX_IMAGE := true + +# Bootloader +TARGET_BOOTLOADER_BOARD_NAME := rtwo +TARGET_NO_BOOTLOADER := true + +# Display +TARGET_SCREEN_DENSITY := 400 + +# Kernel +BOARD_BOOTIMG_HEADER_VERSION := 4 +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION) +BOARD_KERNEL_IMAGE_NAME := Image +TARGET_KERNEL_CONFIG := rtwo_defconfig +TARGET_KERNEL_SOURCE := kernel/motorola/rtwo + +# Kernel - prebuilt +TARGET_FORCE_PREBUILT_KERNEL := true +ifeq ($(TARGET_FORCE_PREBUILT_KERNEL),true) +TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/kernel +endif + +# Partitions +BOARD_BOOTIMAGE_PARTITION_SIZE := 104857600 +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600 +BOARD_HAS_LARGE_FILESYSTEM := true +BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4 +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +TARGET_COPY_OUT_VENDOR := vendor +BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value +BOARD_SUPER_PARTITION_GROUPS := motorola_dynamic_partitions +BOARD_MOTOROLA_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext product vendor vendor_dlkm system_dlkm +BOARD_MOTOROLA_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value + +# Platform +TARGET_BOARD_PLATFORM := kalama + +# Recovery +TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_F2FS := true + +# Security patch level +VENDOR_SECURITY_PATCH := 2021-08-01 + +# Verified Boot +BOARD_AVB_ENABLE := true +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 + +# Hack: prevent anti rollback +PLATFORM_SECURITY_PATCH := 2099-12-31 +VENDOR_SECURITY_PATCH := 2099-12-31 +PLATFORM_VERSION := 16.1.0 + +# TWRP Configuration +TW_THEME := portrait_hdpi +TW_EXTRA_LANGUAGES := true +TW_SCREEN_BLANK_ON_BOOT := true +TW_INPUT_BLACKLIST := "hbtp_vm" +TW_USE_TOOLBOX := true +TW_INCLUDE_REPACKTOOLS := true diff --git a/README.md b/README.md new file mode 100644 index 0000000..b195438 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +Device configuration for Moto Edge+ (2023) (codenamed "rtwo") +========================================= + +The Motorola Moto Edge+ (2023) (codenamed _"rtwo"_) is a upper-range smartphone from Motorola Mobility announced in May 2023. + +## Device specifications + +Basic | Spec Sheet +-------:|:------------------------- +SoC | Qualcomm SM8550-AB Snapdragon 8 Gen 2 (4 nm) +CPU | Octa-core (1x3.2 GHz Cortex-X3 & 2x2.8 GHz Cortex-A715 & 2x2.8 GHz Cortex-A710 & 3x2.0 GHz Cortex-A510) +GPU | Adreno 740 +Memory | 8 GB RAM (LPDDR4X) +Shipped Android Version | 13.0, My UX 3.0 (Global) +Storage | 512 GB (UFS 4.0) +Battery | Non-removable Li-Po 5100 mAh battery +Display | OLED, 165 Hz, 2400 x 1080 pixels, 6.67 inches (~395 ppi density) +Camera | 50MP (Wide) + 50MP (Ultra-wide) + 12MP (Telephoto) + 60MP (Selfie) + +## Device picture +![Motorola Moto Edge+ (2023)](https://fdn2.gsmarena.com/vv/bigpic/motorola-edge-plus-2023.jpg) + +# Status +Current state of features: +- [ ] Correct screen/recovery size +- [ ] Working touch, display +- [ ] Screen goes off and on +- [ ] Backup/restore to/from internal/external storage and adb +- [ ] Poweroff +- [ ] Reboot to system, bootloader, recovery, fastboot, edl +- [ ] ADB (including sideload) +- [ ] Support EROFS/F2FS/EXT4/exFAT/FAT32/NTFS +- [ ] Decrypt /data +- [ ] Flashing zip/images +- [ ] MTP export +- [ ] All important partitions listed in wipe/mount/backup lists +- [ ] Input devices via USB-OTG +- [ ] USB mass storage export +- [ ] Correct date +- [ ] Battery level +- [ ] Set brightness +- [ ] Vibrate and set vibration +- [ ] Screenshot +- [ ] Advanced features + +# Building +```bash +export ALLOW_MISSING_DEPENDENCIES=true +source build/envsetup.sh +lunch twrp_rtwo-eng +mka bootimage -j$(nproc --all) +``` + +**Copyright (C) 2023 Team Win Recovery Project**
+**Copyright (C) 2025 A-Team Digital Solutions** diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..1bf9e86 --- /dev/null +++ b/device.mk @@ -0,0 +1,32 @@ +# Copyright (C) 2024 The Android Open Source Project +# Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +# Copyright (C) 2019 - Current | A-Team Digital Solutions + +LOCAL_PATH := device/motorola/rtwo +# A/B +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_system=true \ + POSTINSTALL_PATH_system=system/bin/otapreopt_script \ + FILESYSTEM_TYPE_system=ext4 \ + POSTINSTALL_OPTIONAL_system=true + +# Boot control HAL +PRODUCT_PACKAGES += \ + android.hardware.boot@1.0-impl \ + android.hardware.boot@1.0-service + +PRODUCT_PACKAGES += \ + bootctrl.kalama + +PRODUCT_STATIC_BOOT_CONTROL_HAL := \ + bootctrl.kalama \ + libgptutils \ + libz \ + libcutils + +PRODUCT_PACKAGES += \ + otapreopt_script \ + cppreopts.sh \ + update_engine \ + update_verifier \ + update_engine_sideload diff --git a/extract-files.sh b/extract-files.sh new file mode 100755 index 0000000..ee57320 --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -e + +DEVICE=rtwo +VENDOR=motorola + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi + +ANDROID_ROOT="${MY_DIR}/../../.." + +HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" + exit 1 +fi +source "${HELPER}" + +# Default to sanitizing the vendor folder before extraction +CLEAN_VENDOR=true + +KANG= +SECTION= + +while [ "${#}" -gt 0 ]; do + case "${1}" in + -n | --no-cleanup ) + CLEAN_VENDOR=false + ;; + -k | --kang ) + KANG="--kang" + ;; + -s | --section ) + SECTION="${2}"; shift + CLEAN_VENDOR=false + ;; + * ) + SRC="${1}" + ;; + esac + shift +done + +if [ -z "${SRC}" ]; then + SRC="adb" +fi + +# Initialize the helper +setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" + +extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" + +"${MY_DIR}/setup-makefiles.sh" diff --git a/prebuilt/dtb.img b/prebuilt/dtb.img new file mode 100644 index 0000000..2310347 Binary files /dev/null and b/prebuilt/dtb.img differ diff --git a/prebuilt/kernel b/prebuilt/kernel new file mode 100644 index 0000000..e69de29 diff --git a/recovery.fstab b/recovery.fstab new file mode 100644 index 0000000..53d268b --- /dev/null +++ b/recovery.fstab @@ -0,0 +1,70 @@ +# Copyright (C) 2019 - Current | A-Team Digital Solutions + +/system ext4 system flags=display=system;logical;slotselect +/system_ext ext4 system_ext flags=display=system_ext;logical;slotselect +/product ext4 product flags=display=product;logical;slotselect +/vendor ext4 vendor flags=display=vendor;logical;slotselect +/vendor_dlkm ext4 vendor_dlkm flags=display=vendor_dlkm;logical;slotselect +/system_dlkm ext4 system_dlkm flags=display=system_dlkm;logical;slotselect +/metadata f2fs /dev/block/by-name/metadata flags=display=metadata +/mnt/vendor/persist ext4 /dev/block/bootdevice/by-name/persist flags=display=persist +/mnt/product/persist ext4 /dev/block/bootdevice/by-name/prodpersist flags=display=persist +/data f2fs /dev/block/bootdevice/by-name/userdata flags=display=data +/misc emmc /dev/block/bootdevice/by-name/misc flags=display=misc +/storage/usbotg vfat /devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* flags=display=usbotg +/vendor/firmware_mnt ext4 /dev/block/bootdevice/by-name/modem flags=display=firmware_mnt;slotselect +/vendor/dsp ext4 /dev/block/bootdevice/by-name/dsp flags=display=dsp;slotselect +/vendor/bt_firmware ext4 /dev/block/bootdevice/by-name/bluetooth flags=display=bt_firmware;slotselect +/vendor/fsg ext4 /dev/block/bootdevice/by-name/fsg flags=display=fsg;slotselect + + + +########### stock recovery.fstab from vanFirmware ####################################################################################### +#/system erofs system flags=display=system;logical;slotselect +#/system ext4 system flags=display=system;logical;slotselect +#/system_ext erofs system_ext flags=display=system_ext;logical;slotselect +#/product erofs product flags=display=product;logical;slotselect +#/vendor erofs vendor flags=display=vendor;logical;slotselect +#/metadata f2fs /dev/block/bootdevice/by-name#/metadata flags=display=metadata +#/data f2fs /dev/block/bootdevice/by-name/userdata flags=display=data +#/sdcard vfat /dev/block#/mmcblk0p1 flags=display=sdcard +#/boot emmc /dev/block/bootdevice/by-name/boot flags=display=boot +#/misc emmc /dev/block/bootdevice/by-name#/misc flags=display=misc + + + +########### recovery.fstab from PizzaG's milanf ####################################################################################### +#system /system ext4 rw,discard wait,slotselect,logical,first_stage_mount +#system_ext /system_ext ext4 rw,discard wait,slotselect,logical,first_stage_mount +#product /product ext4 rw,discard wait,slotselect,logical,first_stage_mount +#vendor /vendor ext4 rw,discard wait,slotselect,logical,first_stage_mount +#/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=ordered,barrier=1 wait,check,formattable,first_stage_mount +#/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,data=ordered,barrier=1 wait +#/dev/block/bootdevice/by-name/prodpersist /mnt/product/persist ext4 noatime,nosuid,nodev,data=ordered,barrier=1 wait,formattable,nofail +#/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,encryptable=aes-256-#xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,sysfs_path=/sys/devices/platform/soc/4804000.ufshc,reservedsize=128M,checkpoint=fs +#/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults +##/devices/platform/soc/4784000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto +##/devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto +#/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt ext4 ro,nosuid,nodev,context=u:object_r:firmware_file:s0 wait,slotselect +#/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect +#/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware ext4 ro,nosuid,nodev,context=u:object_r:bt_firmware_file:s0 wait,slotselect +#/dev/block/bootdevice/by-name/fsg /vendor/fsg ext4 ro,nosuid,nodev,context=u:object_r:fsg_file:s0 wait,slotselect +#/dev/block/zram0 none swap defaults zramsize=75% + + + +########### genevn working decryption recovery.fstab from teamwin ####################################################################################### +# +#system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-#gsi.avbpubkey +#system /system erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-#gsi.a> +#system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +#system_ext /system_ext erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +#product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +#product /product erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +#vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +#vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount +#vendor_dlkm /vendor_dlkm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +#vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb,logical,first_stage_mount +#/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount +#/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-#xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs +#/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/recovery/root/android.hardware.health-service.qti_recovery.rc b/recovery/root/android.hardware.health-service.qti_recovery.rc new file mode 100644 index 0000000..f9a007a --- /dev/null +++ b/recovery/root/android.hardware.health-service.qti_recovery.rc @@ -0,0 +1,7 @@ +service vendor.health-recovery /system/bin/hw/android.hardware.health-service.qti_recovery + class hal + seclabel u:r:hal_health_default:s0 + user system + group system + capabilities WAKE_ALARM BLOCK_SUSPEND + file /dev/kmsg w diff --git a/recovery/root/init.recovery.qcom.rc b/recovery/root/init.recovery.qcom.rc new file mode 100644 index 0000000..14b32bb --- /dev/null +++ b/recovery/root/init.recovery.qcom.rc @@ -0,0 +1,37 @@ +# Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +on init + setprop sys.usb.configfs 1 + +on property:ro.boot.usbcontroller=* + setprop sys.usb.controller ${ro.boot.usbcontroller} + write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral + +on fs + wait /dev/block/platform/soc/${ro.boot.bootdevice} + symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice diff --git a/recovery/root/servicemanager.recovery.rc b/recovery/root/servicemanager.recovery.rc new file mode 100644 index 0000000..6354fd7 --- /dev/null +++ b/recovery/root/servicemanager.recovery.rc @@ -0,0 +1,6 @@ +service servicemanager /system/bin/servicemanager + disabled + group system readproc + user root + onrestart setprop servicemanager.ready false + seclabel u:r:servicemanager:s0 diff --git a/setup-makefiles.sh b/setup-makefiles.sh new file mode 100755 index 0000000..6256399 --- /dev/null +++ b/setup-makefiles.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -e + +DEVICE=rtwo +VENDOR=motorola + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi + +ANDROID_ROOT="${MY_DIR}/../../.." + +HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" + exit 1 +fi +source "${HELPER}" + +# Initialize the helper +setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" + +# Warning headers and guards +write_headers + +write_makefiles "${MY_DIR}/proprietary-files.txt" true + +# Finish +write_footers diff --git a/twrp_rtwo.mk b/twrp_rtwo.mk new file mode 100644 index 0000000..72d67a2 --- /dev/null +++ b/twrp_rtwo.mk @@ -0,0 +1,26 @@ +# Copyright (C) 2024 The Android Open Source Project +# Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +# Copyright (C) 2019 - Current | A-Team Digital Solutions + +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) + +# Inherit some common TWRP stuff. +$(call inherit-product, vendor/twrp/config/common.mk) + +# Inherit from rtwo device +$(call inherit-product, device/motorola/rtwo/device.mk) + +PRODUCT_DEVICE := rtwo +PRODUCT_NAME := twrp_rtwo +PRODUCT_BRAND := motorola +PRODUCT_MODEL := motorola edge+ (2023) +PRODUCT_MANUFACTURER := motorola + +PRODUCT_GMS_CLIENTID_BASE := android-motorola + +PRODUCT_BUILD_PROP_OVERRIDES += \ + PRIVATE_BUILD_DESC="rtwo_g-user 14 U1TRS34.8-30-13-1 7c77a-12bae6 release-keys" + +BUILD_FINGERPRINT := motorola/rtwo_g/rtwo:14/U1TRS34.8-30-13-1/7c77a-12bae6:user/release-keys diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..17688a1 --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1 @@ +# Copyright (C) 2019 - Current | A-Team Digital Solutions