diff --git a/BoardConfig.mk b/BoardConfig.mk index 50829e0508efdc5f52f2aac1147e9e534d4dbf68..a221ebead343265b07a40f78b45c8616cb174a5e 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -22,7 +22,9 @@ AB_OTA_PARTITIONS += \ product \ system \ vendor \ - vbmeta + vbmeta \ + vbmeta_system \ + vbmeta_vendor # Architecture TARGET_ARCH := arm64 @@ -46,8 +48,43 @@ DEXPREOPT_GENERATE_APEX_IMAGE := true # AVB BOARD_AVB_ENABLE := true -BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag -BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2 +ifeq (eng,$(TARGET_BUILD_VARIANT)) +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 +endif + +BOARD_AVB_ALGORITHM := SHA256_RSA2048 +ifneq (,$(wildcard $($KEYS_DIR)/avb_rsa2048.pem)) +BOARD_AVB_KEY_PATH := $($KEYS_DIR)/avb_rsa2048.pem +else +BOARD_AVB_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem +endif +BOARD_AVB_ROLLBACK_INDEX := 0 + +BOARD_AVB_BOOT_ALGORITHM := $(BOARD_AVB_ALGORITHM) +BOARD_AVB_BOOT_KEY_PATH := $(BOARD_AVB_KEY_PATH) +BOARD_AVB_BOOT_ROLLBACK_INDEX := 0 +BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 3 + +BOARD_AVB_RECOVERY_ALGORITHM := $(BOARD_AVB_ALGORITHM) +BOARD_AVB_RECOVERY_KEY_PATH := $(BOARD_AVB_KEY_PATH) +BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 0 +BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 + +BOARD_AVB_VBMETA_SYSTEM := system product +BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := $(BOARD_AVB_ALGORITHM) +BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := $(BOARD_AVB_KEY_PATH) +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := 0 +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2 + +BOARD_AVB_VBMETA_VENDOR := vendor +BOARD_AVB_VBMETA_VENDOR_ALGORITHM := $(BOARD_AVB_ALGORITHM) +BOARD_AVB_VBMETA_VENDOR_KEY_PATH := $(BOARD_AVB_KEY_PATH) +BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := 0 +BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 4 + +BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256 +BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256 +BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256 # Bootloader TARGET_NO_BOOTLOADER := true @@ -86,8 +123,7 @@ TARGET_KERNEL_CONFIG := emerald_defconfig TARGET_KERNEL_CLANG_COMPILE := true BOARD_INCLUDE_DTB_IN_BOOTIMG := true -BOARD_KERNEL_SEPARATED_DTBO := true -BOARD_CUSTOM_DTBOIMG_MK := $(DEVICE_PATH)/dtbo/dtbo.mk +BOARD_PREBUILT_DTBOIMAGE := device/teracube/emerald/dtbo/dtbo-verified.img BOARD_MKBOOTIMG_ARGS += --dtb_offset $(BOARD_DTB_OFFSET) BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION) diff --git a/configs/properties/vendor.prop b/configs/properties/vendor.prop index de9b39330236cfb1f8c56779316d65452b348579..a363fb2eda7daab34e935e4b17fa54d4f6a6a6d1 100644 --- a/configs/properties/vendor.prop +++ b/configs/properties/vendor.prop @@ -137,6 +137,7 @@ ro.surface_flinger.force_hwc_copy_for_virtual_displays=true ro.surface_flinger.max_frame_buffer_acquired_buffers=3 persist.vendor.md_c2k_cap_dep_check=0 ro.incremental.enable=yes +ro.oem_unlock_supported=1 # Hardware Platform ro.hardware=mt6765 diff --git a/dtbo/dtbo-verified.img b/dtbo/dtbo-verified.img new file mode 100644 index 0000000000000000000000000000000000000000..0d7c61238dcd99f39ad69dc70d8d558c2c73a091 Binary files /dev/null and b/dtbo/dtbo-verified.img differ diff --git a/dtbo/dtbo.mk b/dtbo/dtbo.mk deleted file mode 100644 index aedcdbda255a8d4619a2b6670ecf44badc590367..0000000000000000000000000000000000000000 --- a/dtbo/dtbo.mk +++ /dev/null @@ -1,13 +0,0 @@ -BOARD_KERNEL_DTBO_CFG := dtboimg.cfg -MKDTBOIMG := system/libufdt/utils/src/mkdtboimg.py -APPEND_CERTS := $(DEVICE_PATH)/dtbo/append_certs.py - -# BUG: mkdtboimg.py doesn't support absolute paths yet. Fix this later. -define build-dtboimage-target-from-cfg - $(call pretty,"Target dtbo image from cfg: $(BOARD_PREBUILT_DTBOIMAGE)") - $(hide) $(MKDTBOIMG) cfg_create $@ $(KERNEL_OUT)/$(BOARD_KERNEL_DTBO_CFG) -d / - $(hide) chmod a+r $@ -endef - -$(BOARD_PREBUILT_DTBOIMAGE): $(MKDTBOIMG) $(INSTALLED_KERNEL_TARGET) - $(build-dtboimage-target-from-cfg)