- DNS in allen WireGuard-Configs: 10.47.11.20 (PiHole) + 10.47.11.1
(Fritz!Box Fallback), redundantes PiHole auf .21 entfernt
- resolv.conf Symlink auf upstream statt stub (127.0.0.53), da
systemd-resolved mit WireGuard DNS catch-all (~.) nicht funktioniert
Vor dem Löschen der netplan-Config werden SSID und Passwort
extrahiert und nach dem Wechsel zu NetworkManager als neue
Verbindung eingerichtet. Verhindert WLAN-Verlust nach Reboot.
Apple ISO-Keyboards senden ^/< Keycodes vertauscht.
iso_layout=1 korrigiert das auf Kernel-Ebene.
de(mac_nodeadkeys) hat eigene TLDE-Zuordnung die mit iso_layout
kollidiert. de(nodeadkeys) + lv3:lalt_switch ist die richtige Kombi:
- ^/< korrekt, @=Alt+Q, |=Alt+<, {}[]=Alt+7890
setup-desktop.sh braucht laufende XFCE-Session und die Hardware-Fixes
aus setup-base.sh (GPU-Blacklist, Treiber) erfordern einen Reboot.
Daher: setup-base.sh sofort ausführen, setup-desktop.sh als XFCE-
Autostart einrichten, Reboot dazwischen.
- set -e entfernt (Script bricht nicht mehr bei einzelnen Fehlern ab)
- GPU-Blacklist + hid_apple + Keyboard als SCHRITT 1 (vor apt install)
- dpkg --configure -a VOR Paketinstallation (repariert unterbrochene Installs)
- update-initramfs direkt nach Hardware-Fixes
- cloud-init früh deaktivieren
- Fehlerbehandlung mit || warn/fail statt Abbruch
- Zusammenfassung am Ende mit nächsten Schritten
Broadcom-WLAN hat keinen Treiber in der Live-Umgebung, daher
schlagen alle Netzwerk-abhängigen late-commands fehl. Nur noch
usermod -aG sudo rene als late-command. setup-base.sh und
setup-desktop.sh werden nach manueller WLAN-Einrichtung gestartet.
Der Bash-Heredoc <<AUTOSTART erzeugte Zeilen auf Spalte 0
([Desktop Entry], Type=Application etc.), die den YAML-Parser
von Subiquity brachen. Durch printf mit \n ersetzt.
Die sed-Transformation hat die YAML-Struktur zerstört — Heredoc-Zeilen
im late-commands Block ([Desktop Entry] etc.) landeten auf Spalte 0 und
brachen den YAML-Parser. user-data direkt als autoinstall.yaml verwenden,
#cloud-config ist ein YAML-Kommentar und autoinstall: als Top-Level-Key
wird von Subiquity 24.04 unterstützt.
- build-iso.sh erkennt Modell/Hostname aus user-data und sucht
passende Config in wireguard/{hostname}.conf oder wireguard/m{model}.conf
- user-data: late-commands kopieren wg0.conf vom Installationsmedium
nach /etc/wireguard/ und aktivieren wg-quick@wg0
- wireguard/ in .gitignore (keine Secrets im Repo)
- Funktioniert auf macOS (brew) und Linux (apt)
- Ubuntu ISO URL aktualisiert auf 24.04.4
- xorriso modifiziert die Original-ISO direkt statt entpacken/neu bauen
→ Boot-Records (BIOS + EFI) bleiben korrekt erhalten
- Download-Validierung (prüft auf gültige ISO)
- user-data/meta-data per absolutem Pfad (SCRIPT_DIR)
Dotfiles-rene nutzt eigene Install-Skripte (nvim, micro) und
Symlinks (oh-my-zsh custom, heic-scripts) statt GNU Stow.
Clone-Pfad geaendert von ~/dotfiles nach ~/git-projekte/dotfiles-rene.
setup.sh rief bisher alles in einem Skript auf, was in der
Autoinstall-ISO (curtin in-target/chroot) teilweise fehlschlaegt:
xfconf-query, npm, oh-my-zsh, PrusaSlicer brauchen eine laufende
Desktop-Session.
Neuer Aufbau:
- setup-base.sh: Pakete, Configs, Locale, Services (laeuft in chroot)
- setup-desktop.sh: oh-my-zsh, Claude Code, PrusaSlicer, Dotfiles,
XFCE-Einstellungen (laeuft beim ersten Desktop-Login)
- setup.sh: Wrapper fuer Option A (manuelles curl | bash nach Install)
user-data ruft jetzt setup-base.sh in late-commands auf und richtet
einen XFCE-Autostart fuer setup-desktop.sh beim ersten Login ein.