11#
2- # Copyright (C) 2022 The Android Open Source Project
3- # Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
4- #
2+ # Copyright (C) 2023 The Android Open Source Project
3+ #
54# SPDX-License-Identifier: Apache-2.0
65#
76
87DEVICE_PATH := device/micromax/E7544
98
10- # For building with minimal manifest
11- ALLOW_MISSING_DEPENDENCIES := true
12-
13-
14- # Enable virtual A/B OTA
15- # $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
169
17- # Installs gsi keys into ramdisk, to boot a developer GSI with verified boot.
18- # $(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
10+ ALLOW_MISSING_DEPENDENCIES := true
11+ BUILD_BROKEN_DUP_RULES := true
12+ BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
13+ BUILD_BROKEN_PREBUILT_ELF_FILES := true
14+ BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
15+ BUILD_BROKEN_MISSING_REQUIRED_MODULES := true
16+ RELAX_USES_LIBRARY_CHECK =true
1917
2018# A/B
2119ifeq ($(TARGET_IS_VAB ) ,true)
@@ -24,6 +22,8 @@ AB_OTA_PARTITIONS += \
2422 vbmeta \
2523 vbmeta_system \
2624 vbmeta_vendor \
25+ vbmeta_product \
26+ vbmeta_system_ext \
2727 dtbo \
2828 boot \
2929 system \
3535# Recovery
3636TARGET_NO_RECOVERY := true
3737BOARD_USES_RECOVERY_AS_BOOT := true
38-
38+ TARGET_RECOVERY_DEVICE_MODULES += \
39+ libcap \
40+ libion \
41+ libxml2
42+ TW_RECOVERY_ADDITIONAL_RELINK_LIBRARY_FILES += \
43+ $(TARGET_OUT_SHARED_LIBRARIES ) /libcap.so \
44+ $(TARGET_OUT_SHARED_LIBRARIES ) /libion.so \
45+ $(TARGET_OUT_SHARED_LIBRARIES ) /libxml2.so
46+
47+ # Additional Libraries
48+ TARGET_RECOVERY_DEVICE_MODULES += \
49+ libandroidicu
50+ $(OUT_DIR ) /target/product/$(PRODUCT_DEVICE ) /obj/SHARED_LIBRARIES/libandroidicu_intermediates/libandroidicu.so :$(TARGET_COPY_OUT_RECOVERY ) /root/system/lib64/libandroidicu.so
51+
52+
3953# Architecture
4054TARGET_ARCH := arm64
4155TARGET_ARCH_VARIANT := armv8-a
@@ -51,8 +65,10 @@ TARGET_2ND_CPU_ABI2 := armeabi
5165TARGET_2ND_CPU_VARIANT := generic
5266TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55
5367
54- # APEX
55- DEXPREOPT_GENERATE_APEX_IMAGE := true
68+ # 64-bit
69+ TARGET_SUPPORTS_64_BIT_APPS := true
70+ TARGET_IS_64_BIT := true
71+ TARGET_USES_64_BIT_BINDER := true
5672
5773# Bootloader
5874TARGET_BOOTLOADER_BOARD_NAME := ums512_1h10
@@ -67,6 +83,7 @@ BOARD_KERNEL_CMDLINE := console=ttyS1,115200n8 buildvariant=user
6783BOARD_KERNEL_PAGESIZE := 2048
6884BOARD_RAMDISK_OFFSET := 0x05400000
6985BOARD_KERNEL_TAGS_OFFSET := 0x00000100
86+ BOARD_DTB_OFFSET := 0x01f00000
7087BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION )
7188BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET )
7289BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET )
@@ -79,9 +96,8 @@ TARGET_KERNEL_SOURCE := kernel/micromax/E7544
7996TARGET_FORCE_PREBUILT_KERNEL := true
8097ifeq ($(TARGET_FORCE_PREBUILT_KERNEL ) ,true)
8198TARGET_PREBUILT_KERNEL := $(DEVICE_PATH ) /prebuilt/kernel
82- TARGET_PREBUILT_DTB := $(DEVICE_PATH ) /prebuilt/dtb.img
99+ TARGET_PREBUILT_DTB := $(DEVICE_PATH ) /prebuilt/dtb
83100BOARD_MKBOOTIMG_ARGS += --dtb $(TARGET_PREBUILT_DTB )
84- BOARD_INCLUDE_DTB_IN_BOOTIMG :=
85101endif
86102
87103# Partitions
@@ -90,18 +106,40 @@ BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864
90106BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864
91107BOARD_HAS_LARGE_FILESYSTEM := true
92108BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4
93- BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4
94109BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
110+ BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
111+ BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
95112TARGET_COPY_OUT_VENDOR := vendor
96113BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value
97114BOARD_SUPER_PARTITION_GROUPS := micromax_dynamic_partitions
98115BOARD_MICROMAX_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext vendor product
99116BOARD_MICROMAX_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value
117+ BOARD_ROOT_EXTRA_SYMLINKS := \
118+ /vendor/bt_firmware:/bt_firmware \
119+ /mnt/vendor/socko:/socko \
120+ /mnt/sdcard/:sdcrad \
121+ /system/product/:product \
122+ /system/system_ext/:system_ext
123+
124+
125+ # AVB
126+ BOARD_AVB_ENABLE := true
127+ BOARD_AVB_VBMETA_SYSTEM := system
128+ BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
129+ BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
130+ BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP )
131+ BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
100132
101133# UserIMG
102134TARGET_USERIMAGES_USE_EXT4 := true
103135TARGET_USERIMAGES_USE_F2FS := true
104136
137+ # File systems
138+ BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
139+
140+ # System as root
141+ BOARD_SUPPRESS_SECURE_ERASE := true
142+
105143# Partitions (listed in the file) to be wiped under recovery.
106144TARGET_RECOVERY_WIPE := $(DEVICE_PATH ) /recovery/root/system/etc/recovery.wipe
107145
@@ -110,10 +148,7 @@ TARGET_USES_MKE2FS := true
110148
111149# Decryption
112150TW_INCLUDE_CRYPTO := true
113- TW_INCLUDE_CRYPTO_FBE := true
114- TW_INCLUDE_FBE_METADATA_DECRYPT := true
115151BOARD_USES_METADATA_PARTITION := true
116- BOARD_USES_QCOM_FBE_DECRYPTION := true
117152TW_USE_FSCRYPT_POLICY := 1
118153
119154# Platform
@@ -125,8 +160,9 @@ TARGET_NO_BOOTLOADER := false
125160
126161# Recovery
127162TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
128- TARGET_USERIMAGES_USE_EXT4 := true
129- TARGET_USERIMAGES_USE_F2FS := true
163+
164+ # Properties
165+ TARGET_SYSTEM_PROP += $(DEVICE_PATH ) /system.prop
130166
131167# Verified Boot
132168BOARD_AVB_ENABLE := true
@@ -142,9 +178,28 @@ TW_THEME := portrait_hdpi
142178TW_EXTRA_LANGUAGES := true
143179TW_SCREEN_BLANK_ON_BOOT := true
144180TW_INPUT_BLACKLIST := "hbtp_vm"
181+ TW_BRIGHTNESS_PATH := "/sys/devices/platform/backlight/backlight/sprd_backlight/brightness"
182+ TW_USE_TOOLBOX := true
183+ TW_INCLUDE_REPACKTOOLS := true
184+ TW_INCLUDE_FASTBOOTD := true
145185TW_USE_TOOLBOX := true
146186TW_INCLUDE_REPACKTOOLS := true
147187TW_INCLUDE_FASTBOOTD := true
188+ RECOVERY_SDCARD_ON_DATA := true
189+ TW_USE_EXTERNAL_STORAGE := true
190+ TW_EXCLUDE_DEFAULT_USB_INIT := true
191+ TW_EXCLUDE_TWRPAPP := true
192+ TW_INCLUDE_NTFS_3G := true
193+ TW_NO_BIND_SYSTEM := true
194+ TW_NO_SCREEN_BLANK := true
195+ TW_SCREEN_BLANK_ON_BOOT := true
196+ TW_NO_SCREEN_TIMEOUT := true
197+
198+
199+ # resetprop and magiskboot
200+ TW_INCLUDE_RESETPROP := true
201+ TW_INCLUDE_REPACKTOOLS := true
202+ TW_INCLUDE_LIBRESETPROP := true
148203
149204# Security patch level
150205VENDOR_SECURITY_PATCH := 2021-08-01
@@ -156,15 +211,26 @@ TARGET_USES_LOGD := true
156211
157212TARGET_RECOVERY_FSTAB := $(DEVICE_PATH ) /recovery/root/system/etc/recovery.fstab
158213
214+ # Workaround for error copying vendor files to recovery ramdisk
215+ BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
216+ TARGET_COPY_OUT_VENDOR := vendor
217+ TARGET_COPY_OUT_PRODUCT := product
218+ TARGET_COPY_OUT_SYSTEM_EXT := system_ext
219+
159220# Metadata
160221BOARD_USES_METADATA_PARTITION := true
161- TW_INCLUDE_FBE_METADATA_DECRYPT := true
222+ BOARD_ROOT_EXTRA_FOLDERS += metadata
223+ BOARD_EXT4_SHARE_DUP_BLOCKS := true
162224
163- # Decryption
164- TW_INCLUDE_CRYPTO := true
165- TW_INCLUDE_CRYPTO_FBE := true
166- BOARD_USES_QCOM_FBE_DECRYPTION := true
167- TW_USE_FSCRYPT_POLICY := 1
225+ # PBRP Specific Build Flags
226+ PB_DISABLE_DEFAULT_TREBLE_COMP := false
227+ PB_DISABLE_DEFAULT_DM_VERITY := true
228+ PB_DEVICE_RATIO := "20:9"
229+
230+ # Other flags
231+ TW_NO_LEGACY_PROPS := true
232+ TW_OVERRIDE_SYSTEM_PROPS := "ro.build.version.sdk"
233+ TW_NO_SCREEN_BLANK := true
168234
169235# Kernel module loading
170- TW_LOAD_VENDOR_MODULES := "incrementalfs.ko kheaders.ko trace_irqsoff_bytedancy.ko trace_noschedule_bytedancy.ko trace_runqlat_bytedancy.ko"
236+ TW_LOAD_VENDOR_MODULES := "incrementalfs.ko kheaders.ko trace_irqsoff_bytedancy.ko trace_noschedule_bytedancy.ko trace_runqlat_bytedancy.ko"
0 commit comments