Files
cloudhost/seediso
GuofangandClaude Sonnet 5.5 a920ba0ca5 Windows launcher only creates a differential disk; seed via Unattend.xml
run-windows11.py no longer installs Windows or touches ISO/img files: it
creates a QCOW2 overlay on the base image (made by vm-images/build-windows-base.sh)
and, when the disk is created, mounts seed.iso. Windows reads the Unattend.xml
in its root during the specialize and OOBE passes (host name, account, auto
logon, Remote Desktop) and Configure-Windows.ps1 then installs OpenSSH with the
host's key, turns off Windows Update and copies the installer scripts.

The VM hardware uses devices with inbox Windows drivers (IDE/NVMe, e1000e,
ramfb on arm64), since the base image has no VirtIO drivers. Autounattend.xml
moves to vm-images; the vm-images pointer is updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 11:19:48 +08:00
..
2026-10-15 09:00:15 +08:00

Cloud-init seed images

Each operating system has an independent NoCloud configuration and generated seed.iso:

seediso/
├── debian13/
├── almalinux10/
├── fedora44/
└── ubuntu2604/

Keeping per-OS metadata separate allows each VM to use a distinct hostname and cloud-init instance-id. Generated ISO files are ignored by Git and are built automatically by the corresponding launcher when missing.