diff options
author | Christopher Ferris <cferris@google.com> | 2022-04-08 15:08:48 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2022-07-13 20:00:50 +0000 |
commit | 70052ec848d763b8d92d89252cfda834ed55a3c3 (patch) | |
tree | 65a38807809ef19448557812e7a4b9fa65b9b49c | |
parent | bb64af6a74bd3a18ed0feb74e89881f6baef94df (diff) | |
download | core-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.rc | 16 | ||||
-rw-r--r-- | rootdir/init.zygote64_32.rc | 1 |
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 |