Start seriallogging eariler on microdroid

If the payload fails to run, early kernel logs will be lost as
seriallogging is responsible for pulling ring buffer. This change starts
seriallogging much eariler, so we can see early kernel logs even when
payload fails to run.

Bug: 236451404
Test: see log with fully-debuggable VMs
Change-Id: I172798434eaefcebfec83c8bd97bbcd52287affa
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 3bbab13..65aeb07 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -57,8 +57,8 @@
         "libbinder",
         "libbinder_ndk",
         "libstdc++",
-        "logcat",
-        "logd",
+        "logcat.microdroid",
+        "logd.microdroid",
         "secilc",
 
         // "com.android.adbd" requires these,
diff --git a/microdroid/init.rc b/microdroid/init.rc
index ff3d68e..be08bbd 100644
--- a/microdroid/init.rc
+++ b/microdroid/init.rc
@@ -62,6 +62,13 @@
     start vendor.dice-microdroid
     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.
+    # TODO(b/217796229) set filterspec if debug_level is app_only
+    start logd
+    start seriallogging
+
+on init
     mkdir /mnt/apk 0755 system system
     mkdir /mnt/extra-apk 0755 root root
     # Microdroid_manager starts apkdmverity/zipfuse/apexd
@@ -85,10 +92,6 @@
     # Mount tracefs (with GID=AID_READTRACEFS)
     mount tracefs tracefs /sys/kernel/tracing gid=3012
 
-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
 
diff --git a/microdroid_manager/src/main.rs b/microdroid_manager/src/main.rs
index 350fbc5..ae26787 100644
--- a/microdroid_manager/src/main.rs
+++ b/microdroid_manager/src/main.rs
@@ -69,7 +69,6 @@
 const VMADDR_CID_HOST: u32 = 2;
 
 const APEX_CONFIG_DONE_PROP: &str = "apex_config.done";
-const LOGD_ENABLED_PROP: &str = "ro.boot.logd.enabled";
 const APP_DEBUGGABLE_PROP: &str = "ro.boot.microdroid.app_debuggable";
 
 // SYNC WITH virtualizationservice/src/crosvm.rs
@@ -599,12 +598,6 @@
     info!("notifying payload started");
     service.notifyPayloadStarted()?;
 
-    // Start logging if enabled
-    // TODO(b/200914564) set filterspec if debug_level is app_only
-    if system_properties::read_bool(LOGD_ENABLED_PROP, false)? {
-        system_properties::write("ctl.start", "seriallogging")?;
-    }
-
     let exit_status = command.spawn()?.wait()?;
     exit_status.code().ok_or_else(|| anyhow!("Failed to get exit_code from the paylaod."))
 }