1# BoardConfigGsiCommon.mk 2# 3# Common compile-time definitions for GSI 4# Builds upon the mainline config. 5# 6# See device/generic/common/README.md for more details. 7# 8 9include build/make/target/board/BoardConfigMainlineCommon.mk 10 11TARGET_NO_KERNEL := true 12 13# This flag is set by mainline but isn't desired for GSI. 14BOARD_USES_SYSTEM_OTHER_ODEX := 15 16# system.img is ext4/erofs and non-sparsed. 17GSI_FILE_SYSTEM_TYPE ?= ext4 18BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := $(GSI_FILE_SYSTEM_TYPE) 19TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true 20TARGET_USERIMAGES_SPARSE_EROFS_DISABLED := true 21 22# Enable system_dlkm image for creating a symlink in GSI to support 23# the devices with system_dlkm partition 24BOARD_USES_SYSTEM_DLKMIMAGE := true 25BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 26TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm 27 28# GSI also includes make_f2fs to support userdata parition in f2fs 29# for some devices 30TARGET_USERIMAGES_USE_F2FS := true 31 32# Enable dynamic system image size and reserved 64MB in it. 33BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 34 35# GSI forces product and system_ext packages to /system for now. 36TARGET_COPY_OUT_PRODUCT := system/product 37TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext 38BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := 39 40# Creates metadata partition mount point under root for 41# the devices with metadata parition 42BOARD_USES_METADATA_PARTITION := true 43 44# Android Verified Boot (AVB): 45# Set the rollback index to zero, to prevent the device bootloader from 46# updating the last seen rollback index in the tamper-evident storage. 47BOARD_AVB_ROLLBACK_INDEX := 0 48 49# The chained vbmeta settings for boot images. 50BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem 51BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096 52BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 53BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 54 55# Enable AVB chained partition for system. 56# https://android.googlesource.com/platform/external/avb/+/master/README.md 57BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 58BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048 59BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 60BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 61 62# Using sha256 for dm-verity partitions. b/156162446 63BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 64 65ifdef BUILDING_GSI 66# super.img spec for GSI targets 67BOARD_SUPER_PARTITION_SIZE := 3229614080 68BOARD_SUPER_PARTITION_GROUPS := gsi_dynamic_partitions 69BOARD_GSI_DYNAMIC_PARTITIONS_PARTITION_LIST := system 70BOARD_GSI_DYNAMIC_PARTITIONS_SIZE := 3221225472 71endif 72 73# TODO(b/123695868, b/146149698): 74# This flag is set by mainline but isn't desired for GSI 75BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := 76 77# GSI specific System Properties 78ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 79TARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext.prop 80else 81TARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext_user.prop 82endif 83 84# Set this to create /cache mount point for non-A/B devices that mounts /cache. 85# The partition size doesn't matter, just to make build pass. 86BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 87BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216 88 89# Setup a vendor image to let PRODUCT_VENDOR_PROPERTIES does not affect GSI 90BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 91