blob: 67e31dfa5fdf0ebf1b2c76beff80a289e908f742 [file] [log] [blame]
Isaac Chen55e1d012018-06-11 12:52:22 +08001# BoardConfigGsiCommon.mk
2#
3# Common compile-time definitions for GSI
Anton Hansson40c47732018-11-22 15:39:10 +00004# Builds upon the mainline config.
Isaac Chen55e1d012018-06-11 12:52:22 +08005#
SzuWei Lin8521eca2022-11-04 20:22:41 +08006# See device/generic/common/README.md for more details.
7#
Isaac Chen55e1d012018-06-11 12:52:22 +08008
Anton Hansson40c47732018-11-22 15:39:10 +00009include build/make/target/board/BoardConfigMainlineCommon.mk
Anton Hansson284b81c2018-10-18 14:08:38 +010010
Anton Hansson91aa9412019-04-04 14:53:25 +010011TARGET_NO_KERNEL := true
12
Anton Hansson40c47732018-11-22 15:39:10 +000013# This flag is set by mainline but isn't desired for GSI.
14BOARD_USES_SYSTEM_OTHER_ODEX :=
15
SzuWei Lin0c791be2022-04-01 14:27:21 +080016# system.img is ext4/erofs and non-sparsed.
17GSI_FILE_SYSTEM_TYPE ?= ext4
18BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := $(GSI_FILE_SYSTEM_TYPE)
Yo Chiang90339f92020-09-08 15:49:42 +080019TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
SzuWei Lin0c791be2022-04-01 14:27:21 +080020TARGET_USERIMAGES_SPARSE_EROFS_DISABLED := true
Yo Chiang90339f92020-09-08 15:49:42 +080021
SzuWei Lin1c31b042022-11-04 19:30:58 +080022# 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
SzuWei Lin1457b3f2019-01-03 12:49:55 +080028# GSI also includes make_f2fs to support userdata parition in f2fs
29# for some devices
30TARGET_USERIMAGES_USE_F2FS := true
31
Bowgo Tsai3ac95b52018-10-04 02:14:54 +000032# Enable dynamic system image size and reserved 64MB in it.
33BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864
SzuWei Lin79bfba02018-07-18 18:06:25 +080034
Justin Yun6151e3f2019-06-25 15:58:13 +090035# GSI forces product and system_ext packages to /system for now.
Anton Hansson97915182018-12-06 18:25:32 +000036TARGET_COPY_OUT_PRODUCT := system/product
Justin Yun6151e3f2019-06-25 15:58:13 +090037TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext
Anton Hansson16831982019-03-22 14:10:19 +000038BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE :=
Roman Kiryanov2d9385f2023-04-10 10:53:42 -070039BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE :=
SzuWei Lin1457b3f2019-01-03 12:49:55 +080040
SzuWei Lina2d5ed12019-01-09 15:42:36 +080041# Creates metadata partition mount point under root for
42# the devices with metadata parition
43BOARD_USES_METADATA_PARTITION := true
44
Isaac Chen55e1d012018-06-11 12:52:22 +080045# Android Verified Boot (AVB):
Bowgo Tsai2e2a7682019-04-23 18:05:51 +080046# Set the rollback index to zero, to prevent the device bootloader from
47# updating the last seen rollback index in the tamper-evident storage.
Bowgo Tsaic1a8f1a2019-02-19 10:30:50 +080048BOARD_AVB_ROLLBACK_INDEX := 0
Bowgo Tsai9d286382018-08-31 21:40:10 +080049
SzuWei Lin97064c52022-04-20 07:13:28 +000050# 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
Hung-ying Tyan17858162020-07-09 13:13:28 +080056# Enable AVB chained partition for system.
57# https://android.googlesource.com/platform/external/avb/+/master/README.md
SzuWei Lin1256ca92020-02-27 16:38:16 +080058BOARD_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
Bowgo Tsai60074162021-05-05 12:27:09 +080062
63# Using sha256 for dm-verity partitions. b/156162446
64BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
65
Hung-ying Tyan81f39292020-07-30 22:12:14 +080066ifdef BUILDING_GSI
67# super.img spec for GSI targets
Hung-ying Tyan17858162020-07-09 13:13:28 +080068BOARD_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
SzuWei Lin1256ca92020-02-27 16:38:16 +080073
SzuWei Lin33157a22020-08-13 15:36:29 +080074# 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
SzuWei Lina2d5ed12019-01-09 15:42:36 +080078# GSI specific System Properties
Isaac Chen55e1d012018-06-11 12:52:22 +080079ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
Bowgo Tsai06533fe2019-09-02 18:17:02 +080080TARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext.prop
SzuWei Linfd6d2942019-02-15 14:18:35 +080081else
Bowgo Tsai06533fe2019-09-02 18:17:02 +080082TARGET_SYSTEM_EXT_PROP := build/make/target/board/gsi_system_ext_user.prop
Isaac Chen55e1d012018-06-11 12:52:22 +080083endif
SzuWei Line592c962018-07-12 17:40:00 +080084
SzuWei Line592c962018-07-12 17:40:00 +080085# 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
Anton Hanssonac952ee2019-01-09 16:12:38 +000089
Jiyong Parkeb49b342020-05-29 17:50:03 +090090# Setup a vendor image to let PRODUCT_VENDOR_PROPERTIES does not affect GSI
SzuWei Lin79e0d252019-06-18 17:55:34 +080091BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4