summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jiyong Park <jiyong@google.com> 2022-01-21 12:46:33 +0900
committer Jiyong Park <jiyong@google.com> 2022-01-21 12:46:33 +0900
commit5e5a01d946b4c0d82cbb448ba0dbb422904f597f (patch)
tree2ecf39fa93f75b6e79a632c9a38cf4039d0b94c2
parentebf9ccac3012b735c283e91093d6fe22dbbf4228 (diff)
Add servicemanager.microdroid
servicemanager.microdroid is the servicemanager built for microdroid. The only difference is that it's built with `bootstrap: true` so that it can start early when APEXes are not activated. Previously, servicemanager was started after APEXes are activated, but the introduction of diced made it impossible. Microdroid_manager depends on diced to select the list of APEXes to be activated. diced in turn depends on servicemanager. Bug: 214231981 Test: run microdroid Change-Id: I6199e1f343d0890f6bf5498e588b92df55d87fe6
-rw-r--r--cmds/servicemanager/Android.bp8
-rw-r--r--cmds/servicemanager/servicemanager.microdroid.rc13
2 files changed, 21 insertions, 0 deletions
diff --git a/cmds/servicemanager/Android.bp b/cmds/servicemanager/Android.bp
index 80c0548fca..32922ca24c 100644
--- a/cmds/servicemanager/Android.bp
+++ b/cmds/servicemanager/Android.bp
@@ -47,6 +47,14 @@ cc_binary {
}
cc_binary {
+ name: "servicemanager.microdroid",
+ defaults: ["servicemanager_defaults"],
+ init_rc: ["servicemanager.microdroid.rc"],
+ srcs: ["main.cpp"],
+ bootstrap: true,
+}
+
+cc_binary {
name: "servicemanager.recovery",
stem: "servicemanager",
recovery: true,
diff --git a/cmds/servicemanager/servicemanager.microdroid.rc b/cmds/servicemanager/servicemanager.microdroid.rc
new file mode 100644
index 0000000000..8c1a6ed7fa
--- /dev/null
+++ b/cmds/servicemanager/servicemanager.microdroid.rc
@@ -0,0 +1,13 @@
+service servicemanager /system/bin/servicemanager.microdroid
+ class core animation
+ user system
+ group system readproc
+ critical
+ onrestart restart apexd
+ onrestart restart audioserver
+ onrestart restart gatekeeperd
+ onrestart class_restart --only-enabled main
+ onrestart class_restart --only-enabled hal
+ onrestart class_restart --only-enabled early_hal
+ task_profiles ServiceCapacityLow
+ shutdown critical