instance.img is actually added as a writable partition
Bootloader doesn't use the partition yet.
Bug: 193504400
Test: atest MicrodroidHostTestCases
Change-Id: I7138d966630ebf79c9b7cbc2ea7343852460e2ec
diff --git a/virtualizationservice/src/aidl.rs b/virtualizationservice/src/aidl.rs
index 1d99c2d..e3579da 100644
--- a/virtualizationservice/src/aidl.rs
+++ b/virtualizationservice/src/aidl.rs
@@ -362,8 +362,7 @@
) -> Result<VirtualMachineRawConfig> {
let apk_file = clone_file(config.apk.as_ref().unwrap())?;
let idsig_file = clone_file(config.idsig.as_ref().unwrap())?;
- // TODO(b/193504400) pass this to crosvm
- let _instance_file = clone_file(config.instanceImage.as_ref().unwrap())?;
+ let instance_file = clone_file(config.instanceImage.as_ref().unwrap())?;
let config_path = &config.configPath;
let mut apk_zip = ZipArchive::new(&apk_file)?;
@@ -391,6 +390,7 @@
temporary_directory,
apk_file,
idsig_file,
+ instance_file,
apexes,
&mut vm_config,
)?;
diff --git a/virtualizationservice/src/payload.rs b/virtualizationservice/src/payload.rs
index 28ef502..a176e71 100644
--- a/virtualizationservice/src/payload.rs
+++ b/virtualizationservice/src/payload.rs
@@ -162,6 +162,7 @@
temporary_directory: &Path,
apk_file: File,
idsig_file: File,
+ instance_file: File,
mut apexes: Vec<ApexConfig>,
vm_config: &mut VirtualMachineRawConfig,
) -> Result<()> {
@@ -189,5 +190,12 @@
});
}
+ // instance image is at the second partition in the second disk.
+ vm_config.disks[1].partitions.push(Partition {
+ label: "vm-instance".to_owned(),
+ images: vec![ParcelFileDescriptor::new(instance_file)],
+ writable: true,
+ });
+
Ok(())
}