commit 727ab4dc83df4afd149d8d52cccb76148802b070 Author: boedhack99 Date: Fri Oct 20 22:55:14 2023 +0700 topaz: Initial device configurations * Taken configs from dump extracted * Add partitons Change-Id: I4589fff593d0ea78d9e80ee8adcd7d7ff04dfea3 diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..b6b59e9 --- /dev/null +++ b/Android.mk @@ -0,0 +1,12 @@ +# +# Copyright (C) 2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +LOCAL_PATH := $(call my-dir) + +ifneq ($(filter topaz,$(TARGET_DEVICE)),) +include $(call all-makefiles-under,$(LOCAL_PATH)) + +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..3bee15d --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,13 @@ +# +# Copyright (C) 2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/lineage_topaz.mk + +COMMON_LUNCH_CHOICES := \ + lineage_topaz-user \ + lineage_topaz-userdebug \ + lineage_topaz-eng diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..6f63019 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,114 @@ +# +# Copyright (C) 2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +DEVICE_PATH := device/xiaomi/topaz + +# A/B +AB_OTA_UPDATER := true + +AB_OTA_PARTITIONS += \ + boot \ + dtbo \ + odm \ + product \ + recovery \ + system \ + system_ext \ + vbmeta \ + vbmeta_system \ + vendor \ + vendor_boot \ + vendor_dlkm + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := generic + +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 := cortex-a9 + +# Boot +BOARD_BOOT_HEADER_VERSION := 4 +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) +BOARD_RAMDISK_USE_LZ4 := true + +# Bootloader +TARGET_BOOTLOADER_BOARD_NAME := bengal + +# DTB +BOARD_INCLUDE_DTB_IN_BOOTIMG := true + +# Kernel +BOARD_BOOTCONFIG := \ + androidboot.hardware=qcom \ + androidboot.memcg=1 \ + androidboot.usbcontroller=e400000.dwc3 + +BOARD_KERNEL_CMDLINE := \ + video=vfb:640x400,bpp=32,memsize=3072000 + +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_USES_GENERIC_KERNEL_IMAGE := true + +# Metadata +BOARD_USES_METADATA_PARTITION := true + +# Partitions +BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 +BOARD_DTBOIMG_PARTITION_SIZE := 16777216 +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 109051904 +BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296 + +BOARD_SUPER_PARTITION_SIZE := 7516192768 +BOARD_SUPER_PARTITION_GROUPS := xiaomi_dynamic_partitions +BOARD_XIAOMI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor vendor_dlkm +BOARD_XIAOMI_DYNAMIC_PARTITIONS_SIZE := 7512998464 + +BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64) + +BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 + +TARGET_COPY_OUT_ODM := odm +TARGET_COPY_OUT_PRODUCT := product +TARGET_COPY_OUT_SYSTEM_EXT := system_ext +TARGET_COPY_OUT_VENDOR := vendor +TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm + +# Platform +BOARD_USES_QCOM_HARDWARE := true +TARGET_BOARD_PLATFORM := bengal + +# Recovery +BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true +TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_F2FS := true + +# Verified Boot +BOARD_AVB_ENABLE := true +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 + +BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_RECOVERY_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 + +BOARD_AVB_VBMETA_SYSTEM := product system system_ext +BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048 +BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2 diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..d89ede8 --- /dev/null +++ b/device.mk @@ -0,0 +1,37 @@ +# +# Copyright (C) 2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Enable project quotas and casefolding for emulated storage without sdcardfs +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) + +# Enforce generic ramdisk allow list +$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk) + +# Enable virtual AB with vendor ramdisk +$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) + +# Setup dalvik vm configs +$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) + +# 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 + +PRODUCT_PACKAGES += \ + checkpoint_gc \ + otapreopt_script + +# Partitions +PRODUCT_USE_DYNAMIC_PARTITIONS := true diff --git a/lineage_topaz.mk b/lineage_topaz.mk new file mode 100644 index 0000000..7b123fb --- /dev/null +++ b/lineage_topaz.mk @@ -0,0 +1,23 @@ +# +# Copyright (C) 2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +# 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 from topaz device +$(call inherit-product, device/xiaomi/topaz/device.mk) + +# Inherit some common Lineage stuff. +$(call inherit-product, vendor/lineage/config/common_full_phone.mk) + +PRODUCT_NAME := lineage_topaz +PRODUCT_DEVICE := topaz +PRODUCT_MANUFACTURER := Xiaomi +PRODUCT_BRAND := Redmi +PRODUCT_MODEL := Redmi Note 12 4G + +PRODUCT_GMS_CLIENTID_BASE := android-xiaomi