refactor(deploy-win): drop UUP dump, take ISO via --iso-url / --win-iso

On a Linux host the UUP converter only produces the RTM install.wim (build
26100.1), so Windows Update had to install the entire cumulative anyway —
the UUP download/convert machinery added a slow ~5 GB step and several host
tools (aria2/wimtools/cabextract/chntpw) for no benefit.

Replace it: deploy-win now takes the install ISO directly via `--iso-url`
(urllib download + cache by file name under <CI_ROOT>/iso/, optional
--iso-sha256) or a local `--win-iso` (exactly one required). Patch + deploy
flow is unchanged. Supply an already-updated ISO (e.g. a massgrave link) to
skip the WU step entirely.

- Remove winimage/uup.py and its tests.
- Trim setup-host-linux.sh deps to p7zip-full + xorriso + genisoimage.
- Update RUNBOOK §5 and the Windows-host port plan. Coverage 93.6%.
This commit is contained in:
2026-06-09 18:42:22 +02:00
parent cd88dec15d
commit c257c931c3
8 changed files with 108 additions and 445 deletions
+5 -9
View File
@@ -181,15 +181,11 @@ if ! command -v setfacl &>/dev/null; then
apt-get install -y acl -qq
fi
# Tooling immagini Windows (template deploy-win): scarica/build ISO da UUP dump
# e patch ISO (inject autounattend + no-prompt boot) via xorriso.
# aria2 (aria2c) — download paralleli dei file UUP dalla CDN Microsoft
# wimtools — wimlib-imagex, conversione UUP → install.wim/ISO
# xorriso/genisoimage — repack ISO bootable / build seed ISO (deploy-linux)
# cabextract — estrazione pacchetti .cab durante la conversione UUP
# chntpw — richiesto dal converter UUP (uup_download_linux.sh)
# p7zip-full — 7z: estrae l'ISO Windows (UDF/Joliet) per il repack patch
for pkg in aria2 wimtools xorriso genisoimage cabextract chntpw p7zip-full; do
# Tooling immagini (template deploy-win patch ISO + deploy-linux seed ISO):
# p7zip-full — 7z: estrae l'ISO Windows (UDF/Joliet) per il repack patch
# xorriso — repack ISO Windows bootable no-prompt
# genisoimage — build cloud-init seed ISO (deploy-linux)
for pkg in p7zip-full xorriso genisoimage; do
if ! dpkg -s "$pkg" &>/dev/null; then
echo " Installazione pacchetto $pkg..."
apt-get install -y "$pkg" -qq