# vm-images Shared, locally cached virtual-machine installation media and base images. Downloaded ISO, QCOW2, IMG, VHD, and VHDX files are intentionally excluded from Git. ## Download images Download every supported image: ```bash ./download-images.sh ``` Download or check selected targets: ```bash ./download-images.sh debian13 ./download-images.sh almalinux10 ./download-images.sh fedora44 ./download-images.sh virtio-win ``` The Windows installation ISO is not downloaded because Microsoft's temporary download URLs expire. Place it manually in `install-iso/`; the script finds it automatically by matching `Win`, `11`, `x64` and `.iso` in that order (`*Win*11*x64*.iso`, case-insensitive). If several files match, the highest version-sorted name is used. Check which file was picked with `./download-images.sh --print-path windows11 --iso`. ## Query image paths The path interface prints one absolute path without downloading anything: ```bash ./download-images.sh --print-path debian13 ./download-images.sh --print-path almalinux10 ./download-images.sh --print-path fedora44 ./download-images.sh --print-path virtio-win ./download-images.sh --print-path windows11 ./download-images.sh --print-path windows11 --iso ``` The Windows target prints the QCOW2 path by default. Add `--iso` to print its manually supplied installation ISO path. The QCOW2 is named after the detected ISO (for example `Win11_25H2_English_x64_v2.iso` → `base-qcow2/Win11_25H2_English_x64_v2.qcow2`); if no ISO is present, an existing `*Win*11*x64*.qcow2` in `base-qcow2/` is used instead. Download URLs can be overridden with `DEBIAN_IMAGE_URL`, `ALMA_IMAGE_URL`, `FEDORA_IMAGE_URL`, and `VIRTIO_WIN_ISO_URL`. The Fedora checksum can be overridden with `FEDORA_IMAGE_SHA256` when using a custom image.