Add prebuilt kernel that supports loading modules

So far this kernel is based on GKI with some configs tweaked. Since it
will be only used for development, a locally built kernel image is
checked in.

The PRODUCT_AVF_KERNEL_MODULES_ENABLED build flag controls whether the
com.android.virt APEX should also include kernel that supports loading
modules.

Bug: 283822676
Bug: 278008256
Test: adb shell /apex/com.android.virt/bin/vm run-microdroid \
  --protected \
  --kernel=/apex/com.android.virt/etc/fs/microdroid_kernel_with_modules
Change-Id: I366fb54a3ffbb2f4a5025fa1f9d02d405a497e20
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 1092476..f3045b7 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -461,3 +461,34 @@
         },
     },
 }
+
+avb_add_hash_footer {
+    name: "microdroid_kernel_with_modules_signed",
+    src: ":empty_file",
+    filename: "microdroid_kernel_with_modules",
+    partition_name: "boot",
+    private_key: ":microdroid_sign_key",
+    salt: bootloader_salt,
+    enabled: false,
+    arch: {
+        arm64: {
+            src: ":microdroid_kernel_with_modules_prebuilts-6.1-arm64",
+            enabled: true,
+        },
+    },
+    include_descriptors_from_images: [
+        ":microdroid_initrd_normal_hashdesc",
+        ":microdroid_initrd_debug_hashdesc",
+    ],
+}
+
+prebuilt_etc {
+    name: "microdroid_kernel_with_modules",
+    src: ":empty_file",
+    relative_install_path: "fs",
+    arch: {
+        arm64: {
+            src: ":microdroid_kernel_with_modules_signed",
+        },
+    },
+}