platform_build/target/product/gsi_release.mk
Howard Chen 05f553aa5d Fix boot failure on Q devices with GSI on master
The master GSI is required to support both P and Q.

Bug: 136695702
Test: Boot a Q device with GSI on master
Change-Id: Ic6da4c4a81d145414ba6cb1bde1ccf3b4a8150f1
2019-08-18 23:16:02 +00:00

74 lines
2.6 KiB
Makefile

#
# Copyright (C) 2019 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# The makefile contains the special settings for GSI releasing.
# This makefile is used for the build targets which used for releasing GSI.
#
# For example:
# - Released GSI contains skip_mount.cfg to skip mounting prodcut paritition
# - Released GSI contains more VNDK packages to support old version vendors
# - etc.
#
# Exclude GSI specific files
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \
system/etc/init/config/skip_mount.cfg \
system/etc/init/init.gsi.rc \
# Exclude all files under system/product and system/system_ext
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \
system/product/% \
system/system_ext/%
# GSI doesn't support apex for now.
# Properties set in product take precedence over those in vendor.
PRODUCT_PRODUCT_PROPERTIES += \
ro.apex.updatable=false
# Split selinux policy
PRODUCT_FULL_TREBLE_OVERRIDE := true
# Enable dynamic partition size
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true
# GSI specific tasks on boot
PRODUCT_COPY_FILES += \
build/make/target/product/gsi/skip_mount.cfg:system/etc/init/config/skip_mount.cfg \
build/make/target/product/gsi/init.gsi.rc:system/etc/init/init.gsi.rc \
# Support addtional P and Q VNDK packages
PRODUCT_EXTRA_VNDK_VERSIONS := 28 29
# The 64 bits GSI build targets inhiert core_64_bit.mk to enable 64 bits and
# include the init.zygote64_32.rc.
# 64 bits GSI for releasing need to includes different zygote settings for
# vendor.img to select by setting property ro.zygote=zygote64_32 or
# ro.zygote=zygote32_64:
# 1. 64-bit primary, 32-bit secondary, or
# 2. 32-bit primary, 64-bit secondary
# Here includes the init.zygote32_64.rc if it had inhierted core_64_bit.mk.
ifeq (true|true,$(TARGET_SUPPORTS_32_BIT_APPS)|$(TARGET_SUPPORTS_64_BIT_APPS))
PRODUCT_COPY_FILES += \
system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \
root/init.zygote32_64.rc
endif