Each *_IMAGE_URL may now list several mirrors of the same file. When aria2c is installed, the file is split across all mirrors with a single connection to each; otherwise curl or wget tries the mirrors in order, skipping mirrors that fail or return an empty response. A partial download is only resumed with the same downloader and mirror list. Fedora now defaults to the TUNA, BFSU and NJU mirrors. The Aliyun mirror is not used because it rejects aria2c. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YKxXLyiL7XJ3a9e8HmR2my
61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
# 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`. Each may list several mirrors of
|
|
the same file, separated by whitespace; the Fedora image defaults to the TUNA,
|
|
BFSU and NJU mirrors.
|
|
|
|
When [aria2](https://aria2.github.io/) is installed (`aria2c`), an image is
|
|
downloaded from all of its mirrors at once, with a single connection to each
|
|
mirror. Without it, `curl` (or `wget`) tries the mirrors in order. A partial
|
|
download is only resumed with the same downloader and mirror list; otherwise
|
|
it starts over. The Fedora checksum can be
|
|
overridden with `FEDORA_IMAGE_SHA256` when using a custom image.
|