ac3c65b7bb
Only common files can reside in system partition, other files should be moved to the newly added system_ext partition. Note that for GSI, it will be a single system.img that includes the contents of product and system_ext partitions, under /system/product and /system/system_ext, respectively. After moving skip_mount.cfg to system_ext partition, it also needs a symlink file under system partition: /system/etc/init/config -> /system/system_ext/etc/init/config This allows Q-launched first-stage init (in /boot partition) continue to use the same path when new GSI image is used. Bug: 138281441 Test: build aosp_arm64-userdebug and boot it on crosshatch Test: rm -rf out && build/soong/soong_ui.bash --make-mode \ TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug droid Change-Id: Iae9f5fb688f49497563864eb882d5f0ae33c744a
69 lines
2.3 KiB
Makefile
69 lines
2.3 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 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_PACKAGES += \
|
|
gsi_skip_mount.cfg \
|
|
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
|