Fehlte bisher komplett - backends/mint/ enthielt nur handgepatchte WLAN-Test-Artefakte, kein backend.sh, sodass 40_backend.sh mit "Kein Backend für 'mint' gefunden" abbrach. Baut auf dem bereits real erprobten wlan-test.seed-Muster auf (Ubiquity/ Preseed, nicht Subiquity/Autoinstall - siehe ADR-0009), generalisiert zu einem echten Template mit denselben Platzhaltern wie Fedoras kickstart.tpl: - backends/mint/backend.sh: 5-Funktionen-Contract 1:1 wie Fedora (backend_init/validate/generate_config/launch/postinstall), backend_launch() bewusst als Stub (echte Parität mit Fedoras heutigem Stand, kein Vorgriff auf das noch nicht entschiedene Self-Service-Portal-Modell). - backends/mint/preseed.tpl + postinstall.sh: echter Agent-Bootstrap (curl agent.py, Bootstrap-POST, Credentials, systemd enable) im ubiquity/success_command, zweistufig envsubst+base64 gerendert (Debconf-Fallstrick bei mehrzeiligen Preseed-Werten, real erprobt). - scripts/build.sh: Backend-Argument (fedora|mint), Mint-Pfade real gegen die vorhandene Test-ISO verifiziert (/boot/grub/grub.cfg, /isolinux/live.cfg, /preseed/tuxflotte.seed - keine zweite ESP-Kopie wie bei Fedora), Test-Preseed-Bake mit Platzhalterwerten. - profiles/mint-desktop/profile.json: installer.type von "autoinstall" auf "preseed" korrigiert (ADR-0009 hatte den alten Wert als vermutlich falsch benannt markiert - jetzt bestätigt und korrigiert). End-to-end auf echter QEMU-Hardware verifiziert: automatisierte Installation, Reboot, Agent-Bootstrap, Check-in, ansible-pull-Zyklus (PLAY RECAP failed=0) - kompletter Kreislauf funktioniert. Dabei gefunden und gefixt: d-i pkgsel/include string ansible-core git fehlte (Pendant zu Fedoras kickstart.tpl %packages) - ohne das lief der Agent-Dienst in einer Restart-Fehlerschleife. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
53 lines
2.5 KiB
Smarty
53 lines
2.5 KiB
Smarty
### Tuxflotte Auto-Install Preseed fuer Linux Mint (Ubiquity/Debian-Installer).
|
|
### Liegt direkt auf dem Medium (file=/cdrom/preseed/tuxflotte.seed), keine
|
|
### Netz-Zustellung noetig -- analog zu Fedoras inst.ks=cdrom:/ks.cfg.
|
|
###
|
|
### d-i preseed/early_command wird bewusst NICHT verwendet -- unter Ubiquity
|
|
### bestaetigt wirkungslos (Ubiquity nutzt eigene Python-Plugins statt der
|
|
### klassischen Debian-Installer-Komponenten, an die early_command haengt).
|
|
|
|
d-i debian-installer/locale string de_DE.UTF-8
|
|
d-i keyboard-configuration/xkb-keymap select de
|
|
d-i keyboard-configuration/layoutcode string de
|
|
|
|
d-i netcfg/get_hostname string ${TUXFLOTTE_HOSTNAME}
|
|
d-i netcfg/get_domain string unassigned-domain
|
|
|
|
# Lab-Bootstrap-Zugangsdaten. Ersetzt ein noch fehlendes Secret-Reference-Modell
|
|
# (siehe 09-data-model-v1.md) und darf nicht als Produktionsmechanismus gelten.
|
|
d-i passwd/user-fullname string Tuxflotte
|
|
d-i passwd/username string tuxflotte
|
|
d-i passwd/user-password password test123
|
|
d-i passwd/user-password-again password test123
|
|
d-i user-setup/allow-password-weak boolean true
|
|
|
|
d-i clock-setup/utc boolean true
|
|
d-i time/zone string Europe/Berlin
|
|
d-i clock-setup/ntp boolean true
|
|
|
|
d-i partman-auto/method string regular
|
|
d-i partman-auto/choose_recipe select ${TUXFLOTTE_PARTMAN_RECIPE}
|
|
d-i partman-partitioning/confirm_write_new_label boolean true
|
|
d-i partman/choose_partition select finish
|
|
d-i partman/confirm boolean true
|
|
d-i partman/confirm_nooverwrite boolean true
|
|
|
|
ubiquity ubiquity/summary note
|
|
ubiquity ubiquity/reboot boolean true
|
|
ubiquity ubiquity/use_nonfree boolean true
|
|
|
|
# Pendant zu Fedoras kickstart.tpl %packages (ansible-core, git) - der
|
|
# Provisioning Agent braucht ansible-pull, das wiederum git zum Klonen des
|
|
# Ansible-Repos. Ohne diese Zeile fehlen beide auf einer frischen
|
|
# Mint-Installation, der Agent-Dienst laeuft dann in einer
|
|
# Restart-Fehlerschleife ("ansible-pull nicht gefunden") - real gegen eine
|
|
# frische Testinstallation gefunden und verifiziert (2026-08-04).
|
|
d-i pkgsel/include string ansible-core git
|
|
|
|
# success_command laeuft in-target (gechrootet ins Zielsystem) nach der
|
|
# Paketinstallation, vor dem Reboot - das Pendant zu Kickstarts %post. Der
|
|
# Payload ist base64-kodiert (backend_generate_config() in backend.sh baut
|
|
# ihn aus postinstall.sh): mehrzeilige/zitierte Preseed-Werte brechen unter
|
|
# Debconf lautlos, Base64 umgeht das (real erprobt, siehe wlan-test.seed).
|
|
ubiquity ubiquity/success_command string in-target bash -c 'echo ${TUXFLOTTE_POSTINSTALL_B64} | base64 -d | bash'
|