From 69c29e1bc367e0c4ab3c65cbd134fd6bf382a99c Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 27 Jan 2022 18:21:21 -0800 Subject: [PATCH] Reland "Add a core configuration that disables the zygote." In targets that do not include a zygote binary, attempting to start the zygote service will result in repeated service restarts. Avoid this by providing a way for targets to opt out of declaring a zygote service. The fvp_mini target does not have a zygote, so apply this opt-out to that target. Relanding after fixing breakage on an internal branch. Bug: 217455793 Change-Id: Ic26f76142afb5f700bd7b12359d62feb2652b617 --- target/product/core_no_zygote.mk | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 target/product/core_no_zygote.mk diff --git a/target/product/core_no_zygote.mk b/target/product/core_no_zygote.mk new file mode 100644 index 0000000000..205a8976bd --- /dev/null +++ b/target/product/core_no_zygote.mk @@ -0,0 +1,30 @@ +# +# Copyright (C) 2022 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. +# + +# Inherit from this product for devices that do not include a zygote using: +# $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) +# The inheritance for this must come before the inheritance chain that leads +# to core_minimal.mk. + +# Copy the no-zygote startup script +PRODUCT_COPY_FILES += system/core/rootdir/init.no_zygote.rc:system/etc/init/hw/init.no_zygote.rc + +# Set the zygote property to select the no-zygote script. +# This line must be parsed before the one in core_minimal.mk +PRODUCT_VENDOR_PROPERTIES += ro.zygote=no_zygote + +TARGET_SUPPORTS_32_BIT_APPS := false +TARGET_SUPPORTS_64_BIT_APPS := false