Files
harmony/examples/example_linux_vm/README.md
Jean-Gabriel Gill-Couture 8798110bf3
All checks were successful
Run Check Script / check (pull_request) Successful in 1m32s
feat: linux vm example with cdrom boot and iso download features
2026-03-08 21:48:04 -04:00

44 lines
1.1 KiB
Markdown

# Example: Linux VM from ISO
This example deploys a simple Linux virtual machine from an ISO URL.
## What it creates
- One isolated virtual network (`linuxvm-net`, 192.168.101.0/24)
- One Ubuntu Server VM with the ISO attached as a CD-ROM
- The VM is configured to boot from the CD-ROM first, allowing installation
- After installation, the VM can be rebooted to boot from disk
## Prerequisites
- A running KVM hypervisor (local or remote)
- `HARMONY_KVM_URI` environment variable pointing to the hypervisor (defaults to `qemu:///system`)
- `HARMONY_KVM_IMAGE_DIR` environment variable for storing VM images (defaults to harmony data dir)
## Usage
```bash
cargo run -p example_linux_vm
```
## After deployment
Once the VM is running, you can connect to its console:
```bash
virsh -c qemu:///system console linux-vm
```
To access the VM via SSH after installation, you'll need to configure a bridged network or port forwarding.
## Clean up
To remove the VM and network:
```bash
virsh -c qemu:///system destroy linux-vm
virsh -c qemu:///system undefine linux-vm
virsh -c qemu:///system net-destroy linuxvm-net
virsh -c qemu:///system net-undefine linuxvm-net
```