Merge "Add support for passing bootloader and disk images."
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index dc9a4bb..d0c6675 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -56,6 +56,7 @@
"apexd",
"debuggerd",
"linker",
+ "linkerconfig",
"servicemanager",
"tombstoned",
"cgroups.json",
@@ -91,6 +92,26 @@
installable: false, // avoid collision with system partition's init.rc
}
+logical_partition {
+ name: "microdroid_super",
+ sparse: true,
+ // TODO(b/181107248): remove this hard-coded value
+ size: "104857600",
+ groups: [
+ {
+ name: "mygroup",
+ // TODO(b/181107248): remove this hard-coded value
+ size: "80000000",
+ partitions: [
+ {
+ name: "system",
+ filesystem: ":microdroid",
+ },
+ ],
+ },
+ ],
+}
+
bootimg {
name: "microdroid_boot-5.10",
ramdisk_module: "microdroid_ramdisk-5.10",
@@ -158,7 +179,28 @@
deps: ["virt_device_prebuilts_kernel_modules-5.10-x86_64"],
},
},
+ deps: [
+ "microdroid_fstab",
+ ],
+ base_dir: "first_stage_ramdisk",
type: "compressed_cpio",
+ symlinks: [
+ {
+ target: "etc/fstab",
+ name: "first_stage_ramdisk/fstab.microdroid",
+ },
+ {
+ target: "first_stage_ramdisk/lib",
+ name: "lib",
+ },
+ ],
+}
+
+prebuilt_etc {
+ name: "microdroid_fstab",
+ src: "fstab",
+ filename: "fstab",
+ installable: false,
}
prebuilt_etc {
diff --git a/microdroid/fstab b/microdroid/fstab
new file mode 100644
index 0000000..494f5b4
--- /dev/null
+++ b/microdroid/fstab
@@ -0,0 +1 @@
+system /system ext4 noatime,ro,errors=panic wait,first_stage_mount,logical
diff --git a/microdroid/init.rc b/microdroid/init.rc
index 3ad22f8..9500f7c 100644
--- a/microdroid/init.rc
+++ b/microdroid/init.rc
@@ -14,11 +14,18 @@
on early-init
start ueventd
+ # Generate ld.config.txt
+ exec -- /system/bin/bootstrap/linkerconfig --target /linkerconfig
+ chmod 644 /linkerconfig/ld.config.txt
+
# Run apexd-bootstrap so that APEXes that provide critical libraries
# become available. Note that this is executed as exec_start to ensure that
# the libraries are available to the processes started after this statement.
exec_start apexd-bootstrap
+ # Generate linker config based on apex mounted in bootstrap namespace
+ update_linker_config
+
on init
# Mount binderfs
mkdir /dev/binderfs
diff --git a/microdroid/uboot-env.txt b/microdroid/uboot-env.txt
index 0ef66b8..cdd2c19 100644
--- a/microdroid/uboot-env.txt
+++ b/microdroid/uboot-env.txt
@@ -1,7 +1,11 @@
# Static u-boot environment variables for microdroid. See b/180481192
+# Boot the device following the Android boot procedure
bootcmd=boot_android virtio -
+# Kernel commandlines
+bootargs=rdinit=/bin/init_vendor panic=-1 androidboot.first_stage_console=1 androidboot.hardware=microdroid androidboot.boot_devices=10000.pci
+
# 0:2 is the misc partition
bootdevice=0:2
bootdelay=0
diff --git a/virtmanager/Android.bp b/virtmanager/Android.bp
index e22550c..5ff5db4 100644
--- a/virtmanager/Android.bp
+++ b/virtmanager/Android.bp
@@ -1,3 +1,7 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
rust_binary {
name: "virtmanager",
crate_name: "virtmanager",
diff --git a/virtmanager/aidl/Android.bp b/virtmanager/aidl/Android.bp
index 2782d45..ebe5624 100644
--- a/virtmanager/aidl/Android.bp
+++ b/virtmanager/aidl/Android.bp
@@ -1,3 +1,7 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
aidl_interface {
name: "android.system.virtmanager",
srcs: ["**/*.aidl"],