Add minimized init.rc and services to microdroid

This adds a minimized init.rc and services to microdroid, so microdroid
can boot and adb can work.

Bug: 179340780
Test: boot with manually added selinux stuffs and apexd session patch
Change-Id: I42ae13f3f2ac9ca22ed646564867da3931824682
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 35a4156..fc26f89 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -2,6 +2,13 @@
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
+microdroid_shell_and_utilities = [
+    "reboot",
+    "sh",
+    "toolbox",
+    "toybox",
+]
+
 microdroid_rootdirs = [
     "dev",
     "proc",
@@ -38,13 +45,42 @@
     avb_algorithm: "SHA256_RSA4096",
     deps: [
         "init_second_stage",
-    ],
+        "microdroid_init_rc",
+        "libbinder",
+        "libstdc++",
+        "logcat",
+        "logd",
+        "run-as",
+        "secilc",
+        "adbd",
+        "apexd",
+        "debuggerd",
+        "linker",
+        "servicemanager",
+        "tombstoned",
+        "cgroups.json",
+    ] + microdroid_shell_and_utilities,
+    multilib: {
+        common: {
+            deps: [
+                "com.android.runtime",
+            ],
+        },
+    },
     base_dir: "system",
     dirs: microdroid_rootdirs,
     symlinks: microdroid_symlinks,
     file_contexts: "microdroid_file_contexts",
 }
 
+prebuilt_etc {
+    name: "microdroid_init_rc",
+    filename: "init.rc",
+    src: "init.rc",
+    relative_install_path: "init/hw",
+    installable: false, // avoid collision with system partition's init.rc
+}
+
 bootimg {
     name: "microdroid_vendor_boot-5.10",
     ramdisk_module: "microdroid_ramdisk-5.10",