xref: /aosp_15_r20/build/make/target/board/BoardConfigGsiCommon.mk (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
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