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 := 39BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := 40 41# Creates metadata partition mount point under root for 42# the devices with metadata parition 43BOARD_USES_METADATA_PARTITION := true 44 45# Android Verified Boot (AVB): 46# Set the rollback index to zero, to prevent the device bootloader from 47# updating the last seen rollback index in the tamper-evident storage. 48BOARD_AVB_ROLLBACK_INDEX := 0 49 50# The chained vbmeta settings for boot images. 51BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem 52BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096 53BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 54BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 55 56# Enable AVB chained partition for system. 57# https://android.googlesource.com/platform/external/avb/+/master/README.md 58BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 59BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048 60BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 61BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 62 63# Using sha256 for dm-verity partitions. b/156162446 64BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 65 66ifdef BUILDING_GSI 67# super.img spec for GSI targets 68BOARD_SUPER_PARTITION_SIZE := 3229614080 69BOARD_SUPER_PARTITION_GROUPS := gsi_dynamic_partitions 70BOARD_GSI_DYNAMIC_PARTITIONS_PARTITION_LIST := system 71BOARD_GSI_DYNAMIC_PARTITIONS_SIZE := 3221225472 72endif 73 74# TODO(b/123695868, b/146149698): 75# This flag is set by mainline but isn't desired for GSI 76BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := 77 78# GSI specific System Properties 79ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 80TARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext.prop 81else 82TARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext_user.prop 83endif 84 85# Set this to create /cache mount point for non-A/B devices that mounts /cache. 86# The partition size doesn't matter, just to make build pass. 87BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 88BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216 89 90# Setup a vendor image to let PRODUCT_VENDOR_PROPERTIES does not affect GSI 91BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 92