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