summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2022-04-08 15:08:48 -0700
committerElliott Hughes <enh@google.com>2022-07-13 20:00:50 +0000
commit70052ec848d763b8d92d89252cfda834ed55a3c3 (patch)
tree65a38807809ef19448557812e7a4b9fa65b9b49c
parentbb64af6a74bd3a18ed0feb74e89881f6baef94df (diff)
downloadcore-70052ec848d763b8d92d89252cfda834ed55a3c3.tar.gz
Add support for only starting 64 bit zygote.
This is part of the changes that will allow creating a single system image but a different set of properties will either start or not start the secondary zygote. Bug: 227482437 Test: Verified that secondary doesn't start with same system image Test: with ro.zygote set to zygote64 and abilists set appropriately. Test: Verified that secondary does not start when restarting netd. Test: Verified that secondary does start with same system image Test: with ro.zygote set to zygote64_32 and abilists set appropriately. Test: Verified that secondary does start when restarting netd. Test: Verified that a 64 bit device only starts the primary. Test: Verified that a 32 bit device only starts the primary. Change-Id: Id37a223c73f9a61868b2e26450ef4b6964f7b496 Merged-In: Id37a223c73f9a61868b2e26450ef4b6964f7b496
-rw-r--r--rootdir/init.rc16
-rw-r--r--rootdir/init.zygote64_32.rc1
2 files changed, 12 insertions, 5 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc
index cd71aa8aa..870a97b55 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -823,7 +823,6 @@ on post-fs-data
mkdir /data/misc/odsign 0710 root system
# directory used for odsign metrics
mkdir /data/misc/odsign/metrics 0770 root system
-
# Directory for VirtualizationService temporary image files.
# Delete any stale files owned by the old virtualizationservice uid (b/230056726).
chmod 0770 /data/misc/virtualizationservice
@@ -1030,8 +1029,7 @@ on zygote-start && property:ro.crypto.state=unencrypted
exec_start update_verifier_nonencrypted
start statsd
start netd
- start zygote
- start zygote_secondary
+ trigger zygote-run
on zygote-start && property:ro.crypto.state=unsupported
wait_for_prop odsign.verification.done 1
@@ -1039,8 +1037,7 @@ on zygote-start && property:ro.crypto.state=unsupported
exec_start update_verifier_nonencrypted
start statsd
start netd
- start zygote
- start zygote_secondary
+ trigger zygote-run
on zygote-start && property:ro.crypto.state=encrypted && property:ro.crypto.type=file
wait_for_prop odsign.verification.done 1
@@ -1048,6 +1045,15 @@ on zygote-start && property:ro.crypto.state=encrypted && property:ro.crypto.type
exec_start update_verifier_nonencrypted
start statsd
start netd
+ trigger zygote-run
+
+on zygote-run && property:ro.zygote=zygote32
+ start zygote
+
+on zygote-run && property:ro.zygote=zygote64
+ start zygote
+
+on zygote-run && property:ro.zygote=zygote64_32
start zygote
start zygote_secondary
diff --git a/rootdir/init.zygote64_32.rc b/rootdir/init.zygote64_32.rc
index efb30d664..dfe16454c 100644
--- a/rootdir/init.zygote64_32.rc
+++ b/rootdir/init.zygote64_32.rc
@@ -25,3 +25,4 @@ service zygote_secondary /system/bin/app_process32 -Xzygote /system/bin --zygote
socket usap_pool_secondary stream 660 root system
onrestart restart zygote
task_profiles ProcessCapacityHigh MaxPerformance
+ disabled