Add microdroid_vendor
microdroid_vendor implements the vendor.img of microdroid. In theory,
microdroid doesn't need a vendor partition as it by definition isn't
specific to any SoC. However, init demands some files from the vendor
partition during the boot process. Until we find a way to make the
dependencies optional, let's have the vendor partition. Fortunately, it
is very small. It currently has a few number of sepolicy files only.
Bug: 180986662
Test: run microdroid following README.md
init enters into the second stage, sepolicy files are compiled, init
tries to start the servicemanager (which fails)
Change-Id: I82a66a00a8680ef1070ae7313d8e326f3ebc3112
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index d0c6675..ac6e055 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -92,6 +92,27 @@
installable: false, // avoid collision with system partition's init.rc
}
+android_filesystem {
+ name: "microdroid_vendor",
+ use_avb: true,
+ deps: [
+ "microdroid_plat_sepolicy_vers.txt",
+ "microdroid_vendor_sepolicy.cil",
+ "microdroid_plat_pub_versioned.cil",
+ ],
+ avb_private_key: "microdroid.pem",
+ avb_algorithm: "SHA256_RSA4096",
+ file_contexts: "microdroid_vendor_file_contexts",
+}
+
+prebuilt_etc {
+ name: "microdroid_plat_sepolicy_vers.txt",
+ src: "plat_sepolicy_vers.txt",
+ filename: "plat_sepolicy_vers.txt",
+ sub_dir: "selinux",
+ installable: false,
+}
+
logical_partition {
name: "microdroid_super",
sparse: true,
@@ -107,6 +128,10 @@
name: "system",
filesystem: ":microdroid",
},
+ {
+ name: "vendor",
+ filesystem: ":microdroid_vendor",
+ },
],
},
],