Create instance.img
The file is a per-VM persistent storage which will contain identity
information like the certs of the payload.
As the first step, this change creates instance.img upon creation of a
VM and passes it to virtualizationservice. For now, the file is not
passed down to crosvm yet.
Bug: 193504400
Test: atest MicrodroidHostTestCases
Change-Id: I44115a93abdd23c36a4c52a38e5355bfa3bf69b3
diff --git a/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineAppConfig.aidl b/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineAppConfig.aidl
index 4dcfb88..a5f7c3c 100644
--- a/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineAppConfig.aidl
+++ b/virtualizationservice/aidl/android/system/virtualizationservice/VirtualMachineAppConfig.aidl
@@ -23,6 +23,9 @@
/** idsig for an APK */
ParcelFileDescriptor idsig;
+ /** instance.img that has per-instance data */
+ ParcelFileDescriptor instanceImage;
+
/** Path to a configuration in an APK. This is the actual configuration for a VM. */
@utf8InCpp String configPath;
diff --git a/virtualizationservice/src/aidl.rs b/virtualizationservice/src/aidl.rs
index 3ebde6f..44d89e7 100644
--- a/virtualizationservice/src/aidl.rs
+++ b/virtualizationservice/src/aidl.rs
@@ -339,6 +339,8 @@
) -> Result<VirtualMachineRawConfig> {
let apk_file = config.apk.as_ref().unwrap().as_ref();
let idsig_file = config.idsig.as_ref().unwrap().as_ref();
+ // TODO(b/193504400) pass this to crosvm
+ let _instance_file = config.instanceImage.as_ref().unwrap().as_ref();
let config_path = &config.configPath;
let mut apk_zip = ZipArchive::new(apk_file)?;