From b29adbd26fa194e94cda8ba66a64bd0d86a536f2 Mon Sep 17 00:00:00 2001 From: Russell Reynolds <129880470+sosRR@users.noreply.github.com> Date: Tue, 23 Jan 2024 08:55:55 -0600 Subject: [PATCH] Initial upload --- Android.bp | 12 +++ Android.mk | 12 +++ AndroidProducts.mk | 14 +++ BoardConfig.mk | 255 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 54 ++++++++++ device.mk | 125 ++++++++++++++++++++++ system.prop | 32 ++++++ twrp_genevn.mk | 35 +++++++ vendorsetup.sh | 23 ++++ 9 files changed, 562 insertions(+) create mode 100644 Android.bp create mode 100644 Android.mk create mode 100644 AndroidProducts.mk create mode 100644 BoardConfig.mk create mode 100644 README.md create mode 100644 device.mk create mode 100644 system.prop create mode 100644 twrp_genevn.mk create mode 100644 vendorsetup.sh diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..90ba554 --- /dev/null +++ b/Android.bp @@ -0,0 +1,12 @@ +// +// Copyright (C) 2023 The Android Open Source Project +// Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +// +// SPDX-License-Identifier: Apache-2.0 +// + +soong_namespace { + imports: [ + "hardware/qcom-caf/bootctrl", + ], +} diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..03bf90b --- /dev/null +++ b/Android.mk @@ -0,0 +1,12 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),genevn) +include $(call all-subdir-makefiles,$(LOCAL_PATH)) +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..79f604a --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,14 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/twrp_genevn.mk + +COMMON_LUNCH_CHOICES := \ + twrp_genevn-user \ + twrp_genevn-userdebug \ + twrp_genevn-eng diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..4160d43 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,255 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +DEVICE_PATH := device/motorola/genevn +DEVICE_PREBUILT_PATH := device/motorola/genevn/prebuilt +INCLUDE_PATH := $(DEVICE_PATH)/include + +LC_ALL="C" +BUILD_BROKEN_DUP_RULES := true +BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true +BUILD_BROKEN_MISSING_REQUIRED_MODULES := true +RELAX_USES_LIBRARY_CHECK := true +TARGET_DEVICE_ALT := genevn_g + +# For building with minimal manifest +ALLOW_MISSING_DEPENDENCIES := true + +# A/B +AB_OTA_UPDATER := true +BOARD_BUILD_SYSTEM_ROOT_IMAGE := false +AB_OTA_PARTITIONS += \ + boot \ + dtbo \ + product \ + system \ + system_ext \ + recovery \ + vbmeta \ + vbmeta_system \ + vendor \ + vendor_dlkm \ + vendor_boot + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-2a-dotprod +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := cortex-a76 +TARGET_CPU_VARIANT_RUNTIME := kryo300 + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv8-2a +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := cortex-a55 +TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55 + +# Bootloader +TARGET_NO_BOOTLOADER := false +TARGET_USES_UEFI := true +TARGET_USES_REMOTEPROC := true +TARGET_NO_RECOVERY := false + +# Display +TARGET_SCREEN_DENSITY := 400 + +# Kernel +BOARD_BOOT_HEADER_VERSION := 4 +BOARD_KERNEL_BASE := 0x00000000 +BOARD_KERNEL_TAGS_OFFSET := 0x00000100 +BOARD_KERNEL_OFFSET := 0x00008000 +BOARD_RAMDISK_OFFSET := 0x01000000 +BOARD_DTB_OFFSET := 0x01f00000 +BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 printk.devkmsg=on firmware_class.path=/vendor/firmware_mnt/image bootconfig +BOARD_BOOTCONFIG += \ + androidboot.hardware=qcom \ + androidboot.memcg=1 \ + androidboot.usbcontroller=a600000.dwc3 \ + video=vfb:640x400,bpp=32,memsize=3072000 \ + msm_rtb.filter=0x237 \ + service_locator.enable=1 \ + androidboot.selinux=permissive \ + cgroup.memory=nokmem,nosocket + +BOARD_KERNEL_IMAGE_NAME := Image +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_KERNEL_SEPARATED_DTBO := true +BOARD_MKBOOTIMG_ARGS += --base $(BOARD_KERNEL_BASE) +BOARD_MKBOOTIMG_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) +BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET) +BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) +BOARD_MKBOOTIMG_ARGS += --kernel_offset $(BOARD_KERNEL_OFFSET) +BOARD_MKBOOTIMG_ARGS += --dtb $(DEVICE_PREBUILT_PATH)/dtb.img +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) +BOARD_INCLUDE_DTB_IN_BOOTIMG := true +TARGET_KERNEL_ARCH := arm64 +TARGET_KERNEL_HEADER_ARCH := arm64 +BOARD_RAMDISK_USE_LZ4 := true + +TARGET_PREBUILT_KERNEL := $(DEVICE_PREBUILT_PATH)/kernel +TARGET_PREBUILT_DTB := $(DEVICE_PREBUILT_PATH)/dtb.img + +# Copy DTB +PRODUCT_COPY_FILES += \ + $(TARGET_PREBUILT_DTB):dtb.img + +TARGET_FORCE_PREBUILT_KERNEL := true +BOARD_USES_FULL_RECOVERY_IMAGE := true +BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true +BOARD_USES_GENERIC_KERNEL_IMAGE := true + +# Partitions +BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64) +BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions +BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext product vendor vendor_dlkm +BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 9122611200 +BOARD_SUPER_PARTITION_SIZE := 9126805504 +BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 +BOARD_KERNEL_GKI_BOOTIMAGE_PARTITION_SIZE := $(BOARD_BOOTIMAGE_PARTITION_SIZE) +BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296 +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600 +BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4 +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_USES_METADATA_PARTITION := true +TARGET_COPY_OUT_VENDOR := vendor +TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm +BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_USES_VENDOR_DLKMIMAGE := true + +# Platform +TARGET_BOARD_PLATFORM := parrot +TARGET_BOOTLOADER_BOARD_NAME := parrot +QCOM_BOARD_PLATFORMS += parrot + +# Properties +TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop + +# Recovery +TARGET_RECOVERY_QCOM_RTC_FIX := true +TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 +TARGET_RECOVERY_DEVICE_DIRS += $(DEVICE_PATH) +TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab +TARGET_USERIMAGES_USE_EXT3 := true +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_F2FS := true +TARGET_USERIMAGES_USE_EROFS := true +TARGET_USERIMAGES_USE_E2FSCK := true +TARGET_USERIMAGES_USE_VFAT := true + +BOARD_HAS_LARGE_FILESYSTEM := true +BOARD_HAS_NO_SELECT_BUTTON := true + +# Verified Boot +BOARD_AVB_ENABLE := true +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 + +BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1 +BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 + +BOARD_AVB_VBMETA_SYSTEM := product system system_ext +BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem +BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048 +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2 + +# Hack: prevent anti rollback +PLATFORM_SECURITY_PATCH := 2099-12-31 +VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH) +BOOT_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH) +PLATFORM_VERSION := 99.87.36 +PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION) + +# Crypto +TW_INCLUDE_CRYPTO := true +TW_INCLUDE_CRYPTO_FBE := true +TW_INCLUDE_FBE_METADATA_DECRYPT := true +BOARD_USES_METADATA_PARTITION := true +BOARD_USES_QCOM_FBE_DECRYPTION := true + +# TWRP Configuration +TARGET_SUPPORTS_64_BIT_APPS := true +TW_THEME := portrait_hdpi +TW_EXTRA_LANGUAGES := true +TW_INPUT_BLACKLIST := "hbtp_vm" +TW_INCLUDE_REPACKTOOLS := true +TW_INCLUDE_RESETPROP := true +TW_INCLUDE_LIBRESETPROP := true +TW_INCLUDE_NTFS_3G := true +TW_BACKUP_EXCLUSIONS := /data/fonts +TW_NO_SCREEN_BLANK := true +TW_SCREEN_BLANK_ON_BOOT := true +TW_MAX_BRIGHTNESS := 3515 +TW_DEFAULT_BRIGHTNESS := 1024 +TW_FRAMERATE := 60 +TW_HAS_EDL_MODE := true +TW_INCLUDE_FASTBOOTD := true +TW_CUSTOM_CPU_TEMP_PATH := /sys/class/thermal/thermal_zone39/temp +TW_EXCLUDE_DEFAULT_USB_INIT := false +TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file +TW_SUPPORT_INPUT_AIDL_HAPTICS := true +TW_SUPPORT_INPUT_AIDL_HAPTICS_FIX_OFF := true +TW_EXCLUDE_APEX := true +TW_FORCE_KEYMASTER_VER := false +TW_NO_SCREEN_TIMEOUT := true + +# Excludes +TW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID := true + +# OrangeFox Variables +OF_AB_DEVICE_WITH_RECOVERY_PARTITION := true +OF_FLASHLIGHT_ENABLE := true +OF_HIDE_NOTCH := true +OF_PATCH_AVB20 := true +OF_USE_LOCKSCREEN_BUTTON := true +FOX_ENABLE_APP_MANAGER := true +OF_FORCE_PREBUILT_KERNEL := true +OF_DEFAULT_KEYMASTER_VERSION := 4.1 +OF_DISABLE_MIUI_SPECIFIC_FEATURES := true +OF_DONT_PATCH_ENCRYPTED_DEVICE := true +FOX_USE_BASH_SHELL := true +FOX_ASH_IS_BASH := true +FOX_USE_TAR_BINARY := true +FOX_USE_SED_BINARY := true +FOX_USE_XZ_UTILS := true +FOX_USE_LZ4_UTILS := true +OF_KEEP_DM_VERITY := true +OF_RUN_POST_FORMAT_PROCESS := true +OF_SUPPORT_ALL_BLOCK_OTA_UPDATES := true +OF_USE_GREEN_LED := true +OF_NO_TREBLE_COMPATIBILITY_CHECK := true +OF_STATUS_INDENT_LEFT := 64 +OF_STATUS_INDENT_RIGHT := 64 +OF_ADVANCED_SECURITY := true +FOX_VERSION := S12.1 +FOX_DELETE_AROMAFM := true +FOX_RECOVERY_VENDOR_PARTITION := /dev/block/mapper/vendor +FOX_RECOVERY_SYSTEM_PARTITION := /dev/block/mapper/system +TW_OVERRIDE_SYSTEM_PROPS := "ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental" +TW_NO_USB_STORAGE := false +RECOVERY_SDCARD_ON_DATA := false +TW_INCLUDE_FASTBOOTD := true +TW_INCLUDE_PYTHON := true +TARGET_USES_MKE2FS := true + +# Magisk Specific Build Flags +OF_USE_LATEST_MAGISK := true +OF_USE_MAGISKBOOT_FOR_ALL_PATCHES := true +OF_USE_MAGISKBOOT := true + +# TWRP Debug Flags +TARGET_USES_LOGD := true +TWRP_EVENT_LOGGING := false +TWRP_INCLUDE_LOGCAT := true +TARGET_RECOVERY_DEVICE_MODULES += debuggerd +TW_RECOVERY_ADDITIONAL_RELINK_FILES += $(TARGET_OUT_EXECUTABLES)/debuggerd +BOARD_RAMDISK_USE_LZMA := true +BUILD_BROKEN_MISSING_REQUIRED_MODULES := true diff --git a/README.md b/README.md new file mode 100644 index 0000000..4cd6cd8 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +Device configuration for Moto G Stylus 5G (2023) (codenamed "genevn") +========================================= + +The Motorola Moto G Stylus 5G (2023) (codenamed _"genevn"_) is a mid-range smartphone from Motorola Mobility announced in May 2023. + +## Device specifications + +Basic | Spec Sheet +-------:|:------------------------- +SoC | Qualcomm SM6450 Snapdragon 6 Gen 1 (4 nm) +CPU | Octa-core (4x2.20 GHz Cortex-A78 & 4x1.8GHz Cortex-A55) +GPU | Adreno 710 +Memory | 6 GB RAM (LPDDR4X) +Shipped Android Version | 13.0, My UX 3.0 (Global) +Storage | 128 GB | 256 GB (UFS 3.1) +Battery | Non-removable Li-Po 5000 mAh battery +Display | LTPS, 120 Hz, 2400 x 1080 pixels, 6.67 inches (~403 ppi density) +Camera | 50MP (Wide) + 8MP (Ultra-wide) + 16MP (Selfie) + +## Device picture +![Motorola Moto G Stylus 5G (2023)](https://fdn2.gsmarena.com/vv/pics/motorola/motorola-moto-g-stylus-5g-2023-1.jpg) + +# Status +Current state of features: +- [x] Correct screen/recovery size +- [x] Working touch, display +- [x] Screen goes off and on +- [x] Backup/restore to/from internal/external storage and adb +- [x] Poweroff +- [x] Reboot to system, bootloader, recovery, fastboot, edl +- [x] ADB (including sideload) +- [x] Support EROFS/F2FS/EXT4/exFAT/FAT32/NTFS +- [x] Decrypt /data +- [x] Flashing zip/images +- [x] MTP export +- [x] All important partitions listed in wipe/mount/backup lists +- [x] Input devices via USB-OTG +- [x] USB mass storage export +- [x] Correct date +- [x] Battery level +- [x] Set brightness +- [x] Vibrate and set vibration +- [x] Screenshot +- [x] Advanced features + +# Building +```bash +export ALLOW_MISSING_DEPENDENCIES=true +source build/envsetup.sh +lunch twrp_genevn-eng +mka recoveryimage -j$(nproc --all) +``` + +**Copyright (C) 2023 Team Win Recovery Project** diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..523fed0 --- /dev/null +++ b/device.mk @@ -0,0 +1,125 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Soong namespaces +PRODUCT_SOONG_NAMESPACES += \ + $(LOCAL_PATH) + +# API +BOARD_SHIPPING_API_LEVEL := 31 +BOARD_API_LEVEL := 31 +PRODUCT_SHIPPING_API_LEVEL := 31 +SHIPPING_API_LEVEL := 31 + +# 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 + +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_vendor=true \ + POSTINSTALL_PATH_vendor=bin/checkpoint_gc \ + FILESYSTEM_TYPE_vendor=ext4 \ + POSTINSTALL_OPTIONAL_vendor=true + +# Boot control HAL +PRODUCT_PACKAGES += \ + android.hardware.boot@1.2-impl-qti \ + android.hardware.boot@1.2-impl-qti.recovery \ + android.hardware.boot@1.2-service + +PRODUCT_PACKAGES_DEBUG += \ + bootctl + +PRODUCT_PACKAGES += \ + otapreopt_script \ + checkpoint_gc \ + update_engine \ + update_engine_client \ + update_verifier \ + update_engine_sideload + +# Crypto +PRODUCT_PACKAGES += \ + qcom_decrypt \ + qcom_decrypt_fbe + +# Dynamic partitions +PRODUCT_USE_DYNAMIC_PARTITIONS := true + +# F2FS utilities +PRODUCT_PACKAGES += \ + sg_write_buffer \ + f2fs_io \ + check_f2fs \ + mtpfs + +# Fastbootd +PRODUCT_PACKAGES += \ + fastbootd \ + android.hardware.fastboot@1.1-impl-mock + +# FUSE +PRODUCT_PRODUCT_PROPERTIES += \ + persist.sys.fuse.passthrough.enable=true + +# Host Adb +PRODUCT_HOST_PACKAGES += \ + adbd \ + mtpd + +# HACK: Set vendor patch level +PRODUCT_PROPERTY_OVERRIDES += \ + ro.bootimage.build.date.utc=0 \ + ro.build.date.utc=0 + +# OEM otacert +PRODUCT_EXTRA_RECOVERY_KEYS += \ + $(LOCAL_PATH)/security/ota + +# Take a few libraries from sources +TARGET_RECOVERY_DEVICE_MODULES += \ + android.hardware.vibrator-V2-ndk_platform.so \ + android.hidl.allocator@1.0 \ + android.hidl.memory@1.0 \ + android.hidl.memory.token@1.0 \ + libdmabufheap \ + libhidlmemory \ + libion \ + libnetutils \ + libxml2 \ + vendor.display.config@1.0 \ + vendor.display.config@2.0 \ + libdisplayconfig.qti + +RECOVERY_LIBRARY_SOURCE_FILES += \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.vibrator-V2-ndk_platform.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.allocator@1.0.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.memory@1.0.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.memory.token@1.0.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libdmabufheap.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libhidlmemory.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libion.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libnetutils.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.0.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/libdisplayconfig.qti.so + +# TZDATA +PRODUCT_PACKAGES += \ + tzdata_twrp +# Virtual ab device +PRODUCT_PROPERTY_OVERRIDES += \ + ro.virtual_ab.enabled=true + +# Namespace definition for librecovery_updater +SOONG_CONFIG_NAMESPACES += ufsbsg +SOONG_CONFIG_ufsbsg += ufsframework +SOONG_CONFIG_ufsbsg_ufsframework := bsg diff --git a/system.prop b/system.prop new file mode 100644 index 0000000..9c882e8 --- /dev/null +++ b/system.prop @@ -0,0 +1,32 @@ +# Product informations +ro.product.board=parrot +ro.board.platform=parrot + +# ADB +ro.adb.secure=0 + +# Battery Property +ro.charger.enable_suspend=1 + +# Crypto +ro.crypto.allow_encrypt_override=true +vendor.gatekeeper.disable_spu=true +fbe.metadata.wrappedkey=true +ro.crypto.volume.filenames_mode=aes-256-cts +ro.vendor.qti.va_aosp.support=1 +ro.crypto.volume.metadata.method=dm-default-key + +# MTP +vendor.usb.use_ffs_mtp=1 + +# PASSTHROUGH +persist.sys.isUsbOtgEnabled=true +sys.usb.controller=a600000.dwc3 + +# Storage +external_storage.projid.enabled=1 +external_storage.casefold.enabled=1 +external_storage.sdcardfs.enabled=0 + +# Virtual AB device +ro.virtual_ab.enabled=true diff --git a/twrp_genevn.mk b/twrp_genevn.mk new file mode 100644 index 0000000..9fffdfd --- /dev/null +++ b/twrp_genevn.mk @@ -0,0 +1,35 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) + +# Inherit some common TWRP stuff. +$(call inherit-product, vendor/twrp/config/common.mk) + +# Inherit from genevn device +$(call inherit-product, device/motorola/genevn/device.mk) + +PRODUCT_DEVICE := genevn +PRODUCT_NAME := twrp_genevn +PRODUCT_BRAND := motorola +PRODUCT_MODEL := motorola moto g stylus 5g (2023) +PRODUCT_MANUFACTURER := motorola + +PRODUCT_GMS_CLIENTID_BASE := android-motorola + +PRODUCT_BUILD_PROP_OVERRIDES += \ + TARGET_PRODUCT=genevn \ + PRIVATE_BUILD_DESC="genevn-user 12 T1TGN33.60-114 7117f-b6786 release-keys" + +BUILD_FINGERPRINT := motorola/genevn/genevn:12/T1TGN33.60-114/7117f-b6786:user/release-keys + diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..25c3e6a --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1,23 @@ + export DEVICE_PATH=device/motorola/genevn + export INCLUDE_PATH=$DEVICE_PATH/include + export OF_MAINTAINER_AVATAR=$("ls" ~/avatar/sosRR.png) + export OF_MAINTAINER=sosRR + export FOX_BUILD_TYPE="Stable" +# run a process after formatting data to work-around MTP issues + export OF_RUN_POST_FORMAT_PROCESS=1 + export OF_FBE_METADATA_MOUNT_IGNORE=1 + export OF_ENABLE_LPTOOLS=1 + export OF_UNBIND_SDCARD_F2FS=1 + export OF_KEEP_DM_VERITY=1 + export OF_SUPPORT_ALL_BLOCK_OTA_UPDATES=1 + export OF_FIX_OTA_UPDATE_MANUAL_FLASH_ERROR=1 + export OF_SUPPORT_ALL_PAYLOAD_OTA_UPDATES=1 +# + export OF_ENABLE_USB_STORAGE=1 + export FOX_USE_TWRP_RECOVERY_IMAGE_BUILDER=1 + export OF_NO_TREBLE_COMPATIBILITY_CHECK=1 + export OF_SUPPORT_OZIP_DECRYPTION=1 + export TW_OZIP_DECRYPT_KEY="0000" +# export FOX_USE_SPECIFIC_MAGISK_ZIP="~/magisk/Magisk-v26.4.zip" + export FOX_USE_SPECIFIC_MAGISK_ZIP=$("ls" ~/Magisk/Magisk-v26.4.zip) + export OF_USE_LATEST_MAGISK=1