1*9e94795aSAndroid Build Coastguard Worker# BoardConfigGsiCommon.mk 2*9e94795aSAndroid Build Coastguard Worker# 3*9e94795aSAndroid Build Coastguard Worker# Common compile-time definitions for GSI 4*9e94795aSAndroid Build Coastguard Worker# Builds upon the mainline config. 5*9e94795aSAndroid Build Coastguard Worker# 6*9e94795aSAndroid Build Coastguard Worker# See device/generic/common/README.md for more details. 7*9e94795aSAndroid Build Coastguard Worker# 8*9e94795aSAndroid Build Coastguard Worker 9*9e94795aSAndroid Build Coastguard Workerinclude build/make/target/board/BoardConfigMainlineCommon.mk 10*9e94795aSAndroid Build Coastguard Worker 11*9e94795aSAndroid Build Coastguard WorkerTARGET_NO_KERNEL := true 12*9e94795aSAndroid Build Coastguard Worker 13*9e94795aSAndroid Build Coastguard Worker# This flag is set by mainline but isn't desired for GSI. 14*9e94795aSAndroid Build Coastguard WorkerBOARD_USES_SYSTEM_OTHER_ODEX := 15*9e94795aSAndroid Build Coastguard Worker 16*9e94795aSAndroid Build Coastguard Worker# system.img is ext4/erofs and non-sparsed. 17*9e94795aSAndroid Build Coastguard WorkerGSI_FILE_SYSTEM_TYPE ?= ext4 18*9e94795aSAndroid Build Coastguard WorkerBOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := $(GSI_FILE_SYSTEM_TYPE) 19*9e94795aSAndroid Build Coastguard WorkerTARGET_USERIMAGES_SPARSE_EXT_DISABLED := true 20*9e94795aSAndroid Build Coastguard WorkerTARGET_USERIMAGES_SPARSE_EROFS_DISABLED := true 21*9e94795aSAndroid Build Coastguard Worker 22*9e94795aSAndroid Build Coastguard Worker# Enable system_dlkm image for creating a symlink in GSI to support 23*9e94795aSAndroid Build Coastguard Worker# the devices with system_dlkm partition 24*9e94795aSAndroid Build Coastguard WorkerBOARD_USES_SYSTEM_DLKMIMAGE := true 25*9e94795aSAndroid Build Coastguard WorkerBOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 26*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm 27*9e94795aSAndroid Build Coastguard Worker 28*9e94795aSAndroid Build Coastguard Worker# GSI also includes make_f2fs to support userdata parition in f2fs 29*9e94795aSAndroid Build Coastguard Worker# for some devices 30*9e94795aSAndroid Build Coastguard WorkerTARGET_USERIMAGES_USE_F2FS := true 31*9e94795aSAndroid Build Coastguard Worker 32*9e94795aSAndroid Build Coastguard Worker# Enable dynamic system image size and reserved 64MB in it. 33*9e94795aSAndroid Build Coastguard WorkerBOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 34*9e94795aSAndroid Build Coastguard Worker 35*9e94795aSAndroid Build Coastguard Worker# GSI forces product and system_ext packages to /system for now. 36*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_PRODUCT := system/product 37*9e94795aSAndroid Build Coastguard WorkerTARGET_COPY_OUT_SYSTEM_EXT := system/system_ext 38*9e94795aSAndroid Build Coastguard WorkerBOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := 39*9e94795aSAndroid Build Coastguard WorkerBOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := 40*9e94795aSAndroid Build Coastguard Worker 41*9e94795aSAndroid Build Coastguard Worker# Creates metadata partition mount point under root for 42*9e94795aSAndroid Build Coastguard Worker# the devices with metadata parition 43*9e94795aSAndroid Build Coastguard WorkerBOARD_USES_METADATA_PARTITION := true 44*9e94795aSAndroid Build Coastguard Worker 45*9e94795aSAndroid Build Coastguard Worker# Android Verified Boot (AVB): 46*9e94795aSAndroid Build Coastguard Worker# Set the rollback index to zero, to prevent the device bootloader from 47*9e94795aSAndroid Build Coastguard Worker# updating the last seen rollback index in the tamper-evident storage. 48*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_ROLLBACK_INDEX := 0 49*9e94795aSAndroid Build Coastguard Worker 50*9e94795aSAndroid Build Coastguard Worker# The chained vbmeta settings for boot images. 51*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem 52*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096 53*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 54*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 55*9e94795aSAndroid Build Coastguard Worker 56*9e94795aSAndroid Build Coastguard Worker# Enable AVB chained partition for system. 57*9e94795aSAndroid Build Coastguard Worker# https://android.googlesource.com/platform/external/avb/+/master/README.md 58*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem 59*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048 60*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) 61*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 62*9e94795aSAndroid Build Coastguard Worker 63*9e94795aSAndroid Build Coastguard Worker# Using sha256 for dm-verity partitions. b/156162446 64*9e94795aSAndroid Build Coastguard WorkerBOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256 65*9e94795aSAndroid Build Coastguard Worker 66*9e94795aSAndroid Build Coastguard Workerifdef BUILDING_GSI 67*9e94795aSAndroid Build Coastguard Worker# super.img spec for GSI targets 68*9e94795aSAndroid Build Coastguard WorkerBOARD_SUPER_PARTITION_SIZE := 3229614080 69*9e94795aSAndroid Build Coastguard WorkerBOARD_SUPER_PARTITION_GROUPS := gsi_dynamic_partitions 70*9e94795aSAndroid Build Coastguard WorkerBOARD_GSI_DYNAMIC_PARTITIONS_PARTITION_LIST := system 71*9e94795aSAndroid Build Coastguard WorkerBOARD_GSI_DYNAMIC_PARTITIONS_SIZE := 3221225472 72*9e94795aSAndroid Build Coastguard Workerendif 73*9e94795aSAndroid Build Coastguard Worker 74*9e94795aSAndroid Build Coastguard Worker# TODO(b/123695868, b/146149698): 75*9e94795aSAndroid Build Coastguard Worker# This flag is set by mainline but isn't desired for GSI 76*9e94795aSAndroid Build Coastguard WorkerBOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := 77*9e94795aSAndroid Build Coastguard Worker 78*9e94795aSAndroid Build Coastguard Worker# GSI specific System Properties 79*9e94795aSAndroid Build Coastguard Workerifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 80*9e94795aSAndroid Build Coastguard WorkerTARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext.prop 81*9e94795aSAndroid Build Coastguard Workerelse 82*9e94795aSAndroid Build Coastguard WorkerTARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext_user.prop 83*9e94795aSAndroid Build Coastguard Workerendif 84*9e94795aSAndroid Build Coastguard Worker 85*9e94795aSAndroid Build Coastguard Worker# Set this to create /cache mount point for non-A/B devices that mounts /cache. 86*9e94795aSAndroid Build Coastguard Worker# The partition size doesn't matter, just to make build pass. 87*9e94795aSAndroid Build Coastguard WorkerBOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 88*9e94795aSAndroid Build Coastguard WorkerBOARD_CACHEIMAGE_PARTITION_SIZE := 16777216 89*9e94795aSAndroid Build Coastguard Worker 90*9e94795aSAndroid Build Coastguard Worker# Setup a vendor image to let PRODUCT_VENDOR_PROPERTIES does not affect GSI 91*9e94795aSAndroid Build Coastguard WorkerBOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 92