feat: Volume-ID der Kunden-ISO per Parameter statt fest 'TUXFLOTTE'

Sechster, optionaler Parameter (volid) - provisioning-server berechnet ihn
jetzt aus Organisationsname + Bau-Datum (siehe compute_iso_volid() in
app.py) und reicht ihn durch. Fallback 'TUXFLOTTE' fuer Aufrufe ohne
sechsten Parameter (z.B. manuelle Tests). Keine Aenderung an den
GRUB-/isolinux-Boot-Configs noetig - iso-scan/filename=${iso_path} bzw.
boot=casper referenzieren die Volume-ID nicht direkt, anders als ein
frueherer Notiz-Stand vermuten liess.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Thomas Stallinger 2026-08-25 09:04:38 +02:00
parent 517c2de919
commit d5010f5c7b

View File

@ -13,7 +13,7 @@ set -euo pipefail
# interaktiven Kiosk-Startseite. # interaktiven Kiosk-Startseite.
usage() { usage() {
echo "Usage: $0 <source.iso> <output.iso> <activation_code> [wifi_ssid] [wifi_psk]" >&2 echo "Usage: $0 <source.iso> <output.iso> <activation_code> [wifi_ssid] [wifi_psk] [volid]" >&2
} }
SOURCE_ISO="${1:-}" SOURCE_ISO="${1:-}"
@ -21,6 +21,12 @@ OUTPUT_ISO="${2:-}"
ACTIVATION_CODE="${3:-}" ACTIVATION_CODE="${3:-}"
WIFI_SSID="${4:-}" WIFI_SSID="${4:-}"
WIFI_PSK="${5:-}" WIFI_PSK="${5:-}"
# Vom Aufrufer (provisioning-server, compute_iso_volid()) bereits
# ISO9660-konform aufbereitet (Grossbuchstaben/Ziffern/Unterstrich, <=32
# Zeichen) - dieses Skript validiert/sanitisiert das bewusst nicht nochmal,
# um die Sanitisierungslogik nicht doppelt zu pflegen. Fallback nur fuer
# Aufrufe ohne sechsten Parameter (z.B. manuelle Tests).
VOLID="${6:-TUXFLOTTE}"
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
WORK_DIR="$(mktemp -d)" WORK_DIR="$(mktemp -d)"
@ -97,7 +103,7 @@ xorriso \
-indev "${SOURCE_ISO}" \ -indev "${SOURCE_ISO}" \
-outdev "${OUTPUT_ISO}" \ -outdev "${OUTPUT_ISO}" \
-compliance no_emul_toc \ -compliance no_emul_toc \
-volid TUXFLOTTE \ -volid "${VOLID}" \
-map "${REPO_DIR}/grub/mint-boot-grub.cfg" /boot/grub/grub.cfg \ -map "${REPO_DIR}/grub/mint-boot-grub.cfg" /boot/grub/grub.cfg \
-map "${REPO_DIR}/grub/mint-isolinux-live.cfg" /isolinux/live.cfg \ -map "${REPO_DIR}/grub/mint-isolinux-live.cfg" /isolinux/live.cfg \
-map "${custom_initrd}" /casper/initrd.lz \ -map "${custom_initrd}" /casper/initrd.lz \