Merge "Prepare diced before microdroid_manager runs"
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 7f0b806..940094d 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -72,11 +72,11 @@
"apexd",
"debuggerd",
- "diced",
+ "diced.microdroid",
"keystore2_microdroid",
"linker",
"linkerconfig",
- "servicemanager",
+ "servicemanager.microdroid",
"tombstoned",
"cgroups.json",
"public.libraries.android.txt",
diff --git a/microdroid/init.rc b/microdroid/init.rc
index 31c06d3..117b62c 100644
--- a/microdroid/init.rc
+++ b/microdroid/init.rc
@@ -17,25 +17,6 @@
start ueventd
- mkdir /mnt/apk 0755 system system
- mkdir /mnt/extra-apk 0755 root root
- # Microdroid_manager starts apkdmverity/zipfuse/apexd
- start microdroid_manager
-
- # restorecon so microdroid_manager can create subdirectories
- restorecon /mnt/extra-apk
-
- # Wait for apexd to finish activating APEXes before starting more processes.
- wait_for_prop apexd.status activated
- perform_apex_config
-
- # Notify to microdroid_manager that perform_apex_config is done.
- # Microdroid_manager shouldn't execute payload before this, because app
- # payloads are not designed to run with bootstrap bionic
- setprop apex_config.done true
-
- setprop ro.debuggable ${ro.boot.microdroid.debuggable:-0}
-
on init
# Mount binderfs
mkdir /dev/binderfs
@@ -78,18 +59,35 @@
chmod 0664 /dev/cpuset/background/tasks
chmod 0664 /dev/cpuset/system-background/tasks
-on init && property:ro.boot.logd.enabled=1
- # Start logd before any other services run to ensure we capture all of their logs.
- start logd
-
-on init
start servicemanager
+ start diced
+
+ mkdir /mnt/apk 0755 system system
+ mkdir /mnt/extra-apk 0755 root root
+ # Microdroid_manager starts apkdmverity/zipfuse/apexd
+ start microdroid_manager
+
+ # restorecon so microdroid_manager can create subdirectories
+ restorecon /mnt/extra-apk
+
+ # Wait for apexd to finish activating APEXes before starting more processes.
+ wait_for_prop apexd.status activated
+ perform_apex_config
+
+ # Notify to microdroid_manager that perform_apex_config is done.
+ # Microdroid_manager shouldn't execute payload before this, because app
+ # payloads are not designed to run with bootstrap bionic
+ setprop apex_config.done true
+
+ setprop ro.debuggable ${ro.boot.microdroid.debuggable:-0}
+
# TODO(b/185767624): remove hidl after full keymint support
start hwservicemanager
- # TODO(b/214231981): start diced (and servicemanager) earlier than microdroid_manager.
- start diced
+on init && property:ro.boot.logd.enabled=1
+ # Start logd before any other services run to ensure we capture all of their logs.
+ start logd
on init && property:ro.boot.adb.enabled=1
start adbd