WireGuard-Config ins ISO einbetten (wireguard/ Ordner, .gitignore)
- 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)
This commit is contained in:
parent
0c784c7aed
commit
965236428c
3 changed files with 40 additions and 5 deletions
36
build-iso.sh
36
build-iso.sh
|
|
@ -19,6 +19,14 @@ echo "════════════════════════
|
|||
echo " macbook-setup ISO Builder ($OS)"
|
||||
echo "════════════════════════════════════════════"
|
||||
|
||||
# ── Modell aus user-data erkennen ──────────────────────────────────────────
|
||||
MODEL=$(grep -o 'setup-base.sh | bash -s -- [0-9]*' "$SCRIPT_DIR/user-data" | grep -o '[0-9]*$')
|
||||
HOSTNAME=$(grep 'hostname:' "$SCRIPT_DIR/user-data" | awk '{print $2}')
|
||||
if [[ -z "$MODEL" ]]; then
|
||||
err "Konnte Modell nicht aus user-data ermitteln"
|
||||
fi
|
||||
ok "Modell: MBP $MODEL\" (Hostname: $HOSTNAME)"
|
||||
|
||||
# ── Abhängigkeiten ───────────────────────────────────────────────────────
|
||||
echo -e "\n=== Abhängigkeiten prüfen ==="
|
||||
if [[ "$OS" == "Darwin" ]]; then
|
||||
|
|
@ -57,6 +65,25 @@ cp "$SCRIPT_DIR/user-data" "$TMPDIR/autoinstall/"
|
|||
cp "$SCRIPT_DIR/meta-data" "$TMPDIR/autoinstall/"
|
||||
ok "user-data und meta-data bereit"
|
||||
|
||||
# ── WireGuard-Config einbetten ────────────────────────────────────────────
|
||||
echo -e "\n=== WireGuard-Config ==="
|
||||
WG_CONF=""
|
||||
# Suche nach passender Config: wireguard/m16.conf, wireguard/m13.conf, etc.
|
||||
for candidate in "$SCRIPT_DIR/wireguard/${HOSTNAME}.conf" "$SCRIPT_DIR/wireguard/m${MODEL}.conf"; do
|
||||
if [[ -f "$candidate" ]]; then
|
||||
WG_CONF="$candidate"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -n "$WG_CONF" ]]; then
|
||||
cp "$WG_CONF" "$TMPDIR/autoinstall/wg0.conf"
|
||||
ok "WireGuard-Config eingebettet: $(basename "$WG_CONF")"
|
||||
else
|
||||
warn "Keine WireGuard-Config gefunden in wireguard/ — übersprungen"
|
||||
warn "Erwartet: wireguard/${HOSTNAME}.conf oder wireguard/m${MODEL}.conf"
|
||||
fi
|
||||
|
||||
# ── GRUB-Eintrag vorbereiten ────────────────────────────────────────────
|
||||
echo -e "\n=== GRUB-Eintrag vorbereiten ==="
|
||||
|
||||
|
|
@ -98,10 +125,13 @@ rm -rf "$TMPDIR"
|
|||
ok "ISO erstellt: $OUTPUT_ISO"
|
||||
echo ""
|
||||
echo "Größe: $(du -sh "$OUTPUT_ISO" | cut -f1)"
|
||||
echo "Modell: MBP $MODEL\" | Hostname: $HOSTNAME"
|
||||
[[ -n "$WG_CONF" ]] && echo "WireGuard: $(basename "$WG_CONF")" || echo "WireGuard: nicht eingebettet"
|
||||
echo ""
|
||||
warn "Nächster Schritt: ISO auf Ventoy-Stick kopieren"
|
||||
warn "Nächster Schritt: ISO auf USB-Stick schreiben"
|
||||
if [[ "$OS" == "Darwin" ]]; then
|
||||
echo " cp $OUTPUT_ISO /Volumes/Ventoy/"
|
||||
echo " diskutil unmountDisk /dev/diskX"
|
||||
echo " sudo dd if=$OUTPUT_ISO of=/dev/rdiskX bs=4m"
|
||||
else
|
||||
echo " cp $OUTPUT_ISO /media/\$USER/Ventoy/"
|
||||
echo " sudo dd if=$OUTPUT_ISO of=/dev/sdX bs=4M status=progress"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue