(config: &VmLaunchConfig)
| 221 | } |
| 222 | |
| 223 | fn qemu_disk_args(config: &VmLaunchConfig) -> Vec<String> { |
| 224 | let mut args = vec![ |
| 225 | "-drive".to_string(), |
| 226 | format!( |
| 227 | "file={},if=none,format=raw,id=rootfs,readonly=on", |
| 228 | config.root_disk.display() |
| 229 | ), |
| 230 | "-device".to_string(), |
| 231 | "virtio-blk-pci,drive=rootfs".to_string(), |
| 232 | "-drive".to_string(), |
| 233 | format!( |
| 234 | "file={},if=none,format=raw,id=overlay", |
| 235 | config.overlay_disk.display() |
| 236 | ), |
| 237 | "-device".to_string(), |
| 238 | "virtio-blk-pci,drive=overlay".to_string(), |
| 239 | ]; |
| 240 | if let Some(image_disk) = &config.image_disk { |
| 241 | args.extend([ |
| 242 | "-drive".to_string(), |
| 243 | format!( |
| 244 | "file={},if=none,format=raw,id=image,readonly=on", |
| 245 | image_disk.display() |
| 246 | ), |
| 247 | "-device".to_string(), |
| 248 | "virtio-blk-pci,drive=image".to_string(), |
| 249 | ]); |
| 250 | } |
| 251 | args |
| 252 | } |
| 253 | |
| 254 | /// Write environment variables into the overlay disk so the guest init script |
| 255 | /// can source them after the overlay root is mounted. QEMU does not provide a |
no outgoing calls