| # |
| # 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 VNDK packages |
| PRODUCT_EXTRA_VNDK_VERSIONS := 28 |
| |
| # 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 |