From 02c7ace5e7c6f587d447b627608e51a1df2b0e82 Mon Sep 17 00:00:00 2001 From: chaptsand Date: Wed, 26 Apr 2023 22:38:42 +0800 Subject: [PATCH] sm8550-common: Define kernel and partition flags Change-Id: Ieb09ea13eade048617dce47ebd73fece7b8af6d9 --- BoardConfigCommon.mk | 86 ++++++++++++++++++++++++++++++++++++++++++++ common.mk | 17 +++++++++ 2 files changed, 103 insertions(+) diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index e0f75b5..2df8732 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -6,6 +6,24 @@ COMMON_PATH := device/samsung/sm8550-common +# A/B +AB_OTA_UPDATER := true + +AB_OTA_PARTITIONS += \ + boot \ + dtbo \ + odm \ + product \ + recovery \ + system \ + system_ext \ + vbmeta \ + vbmeta_system \ + vbmeta_vendor \ + vendor \ + vendor_boot \ + vendor_dlkm + # Architecture TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a-branchprot @@ -19,12 +37,80 @@ TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := cortex-a75 +# 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 := kalama +# DTB +BOARD_INCLUDE_DTB_IN_BOOTIMG := true + +# Kernel +BOARD_BOOTCONFIG := \ + androidboot.hardware=qcom \ + androidboot.memcg=1 \ + androidboot.usbcontroller=a600000.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 := 12100567040 +BOARD_SUPER_PARTITION_GROUPS := samsung_dynamic_partitions +BOARD_SAMSUNG_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor vendor_dlkm +BOARD_SAMSUNG_DYNAMIC_PARTITIONS_SIZE := 12096372736 + +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 := kalama + +# Recovery +BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true +TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/init/fstab.qcom +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/common.mk b/common.mk index 5aef9bf..463f0e1 100644 --- a/common.mk +++ b/common.mk @@ -16,6 +16,23 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_ven # 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 + # Init PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/init/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.qcom