Remove shell VM launchers in favor of the Python ones

Delete run-*.sh and point the documentation at run-*.py. The
seediso build-seed.sh helpers stay, as the Python launchers call them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HL6bzSwWGNwru9bDS9ZCLg
This commit is contained in:
GuofangandClaude Opus 5.5 committed 2026-09-30 09:22:40 +08:00
1 parent 8a7f974c11
commit 3561fc6729
12 files changed
+24 -705

No files matched your search

+17 -17
View File
@@ -3,10 +3,10 @@
Start the required operating system with its distribution-specific launcher:
```bash
./run-debian13.sh
./run-almalinux10.sh
./run-fedora44.sh
./run-windows11.sh
./run-debian13.py
./run-almalinux10.py
./run-fedora44.py
./run-windows11.py
```
All virtual machines use OVMF/UEFI firmware. Each launcher creates a private,
@@ -16,16 +16,16 @@ Closing the QEMU window stops a foreground VM. To keep the launcher in the
background while still showing the graphical window:
```bash
./run-debian13.sh --daemon
./run-debian13.py --daemon
```
The script uses KVM when `/dev/kvm` is accessible, forwards host port `2222`
The launcher uses KVM when `/dev/kvm` is accessible, forwards host port `2222`
to guest port `22`, and creates `.vm/debian13/disk.qcow2` as a 20G writable overlay with the
original qcow2 image as its backing file. The base image therefore stays
unchanged. Resource settings can be overridden with environment variables;
run `./run-debian13.sh --help` for the full list.
run `./run-debian13.py --help` for the full list.
The Python launchers (`run-*.py`) accept `--state-dir DIR` to keep
The launchers accept `--state-dir DIR` to keep
the VM disk, seed ISO, UEFI variables, PID file and console log in `DIR`
instead of the default `.vm/<name>/`. The option takes precedence over the
corresponding `*_STATE_DIR` environment variable:
@@ -58,7 +58,7 @@ helper with `debian13`.
Start an AlmaLinux 10 Generic Cloud VM with:
```bash
./run-almalinux10.sh
./run-almalinux10.py
```
When the shared AlmaLinux image is missing, the launcher calls the selected
@@ -73,10 +73,10 @@ ssh -p 2223 guofang@localhost
AlmaLinux settings use the `ALMA_VM_` prefix. For example:
```bash
ALMA_VM_MEMORY=4G ALMA_VM_CPUS=4 ALMA_VM_SSH_PORT=2224 ./run-almalinux10.sh
ALMA_VM_MEMORY=4G ALMA_VM_CPUS=4 ALMA_VM_SSH_PORT=2224 ./run-almalinux10.py
```
Run `./run-almalinux10.sh --help` for all supported settings. The seed ISO is
Run `./run-almalinux10.py --help` for all supported settings. The seed ISO is
stored alongside the VM disk at `.vm/almalinux10/seed.iso`. If it already
exists after editing its source files, rebuild it explicitly with
`./seediso/almalinux10/build-seed.sh .vm/almalinux10/seed.iso`.
@@ -86,7 +86,7 @@ exists after editing its source files, rebuild it explicitly with
Start a Fedora 44 Cloud Base VM with:
```bash
./run-fedora44.sh
./run-fedora44.py
```
The launcher downloads the `fedora44` image through the shared helper when it
@@ -101,7 +101,7 @@ On the first boot, cloud-init updates package metadata and installs Fedora's
GNOME package group through its native package module, then reboots the guest.
Keep the VM running until this initial installation and reboot have completed.
Fedora settings use the `FEDORA_VM_` prefix. Run `./run-fedora44.sh --help`
Fedora settings use the `FEDORA_VM_` prefix. Run `./run-fedora44.py --help`
for the complete list of overrides.
## Windows 11 23H2
@@ -110,7 +110,7 @@ On first boot, the Windows 11 launcher creates a writable system-disk overlay
from the shared Windows 11 QCOW2 base image:
```bash
./run-windows11.sh
./run-windows11.py
```
It creates a persistent 64G disk at `.vm/windows11/disk.qcow2`, automatically
@@ -126,15 +126,15 @@ exposes the vdagent channel for host/guest clipboard integration and the QEMU Gu
The generated answer-file ISO is stored beside the disk as
`.vm/windows11/seed.iso`.
To install from the Windows ISO instead, use `./run-windows11.sh
To install from the Windows ISO instead, use `./run-windows11.py
--install-from-iso`. This choice only applies while creating a missing system
disk; subsequent starts always boot the existing system disk normally. During
ISO installation, the launcher resolves its tools ISO through the shared image
helper and downloads it when missing. Override the base QCOW2, source ISO,
tools ISO, resources, RDP port, or SSH port with the `WIN11_VM_` environment
variables shown by `./run-windows11.sh --help`. For example, when the VirtIO ISO
variables shown by `./run-windows11.py --help`. For example, when the VirtIO ISO
is elsewhere:
```bash
WIN11_VM_TOOLS_ISO=/custom/path/virtio-win.iso ./run-windows11.sh --install-from-iso
WIN11_VM_TOOLS_ISO=/custom/path/virtio-win.iso ./run-windows11.py --install-from-iso
```