diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index ce8d71b1..d5e67aca 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -67,6 +67,9 @@ AB_OTA_PARTITIONS += \ ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false) AB_OTA_PARTITIONS += boot endif +ifneq ($(PRODUCT_BUILD_INIT_BOOT_IMAGE), false) +AB_OTA_PARTITIONS += init_boot +endif ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false) AB_OTA_PARTITIONS += vendor_boot AB_OTA_PARTITIONS += dtbo @@ -136,6 +139,12 @@ BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048 BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 +# Enable chained vbmeta for init_boot images +BOARD_AVB_INIT_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem +BOARD_AVB_INIT_BOOT_ALGORITHM := SHA256_RSA2048 +BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX_LOCATION := 4 + TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000 @@ -328,12 +337,16 @@ BOARD_RAMDISK_USE_LZ4 := true BOARD_BOOT_HEADER_VERSION := 4 BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) +BOARD_INIT_BOOT_HEADER_VERSION := 4 +BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION) + BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm.KERNEL_MODULE_DIRS := top # Enable AVB2.0 BOARD_AVB_ENABLE := true BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 +BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 0x800000 BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000 BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000 diff --git a/conf/fstab.gs201.in b/conf/fstab.gs201.in index a3cdfe0a..242813ec 100644 --- a/conf/fstab.gs201.in +++ b/conf/fstab.gs201.in @@ -12,6 +12,7 @@ product /product vendor /vendor erofs ro wait,slotselect,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128 vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb=vbmeta,logical,first_stage_mount /dev/block/platform/14700000.ufs/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount +/dev/block/platform/14700000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount /dev/block/platform/14700000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable /dev/block/platform/14700000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable /dev/block/platform/14700000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable