From de67fff30c5d0b5a25782b838278cff613ceeecd Mon Sep 17 00:00:00 2001 From: rene Date: Sun, 8 Mar 2026 09:22:19 +0100 Subject: [PATCH] Fix MBP 16": Nvidia blacklisten, nomodeset, Compositor aus, SSH, sudo Probleme beim ersten MBP 16" Setup behoben: - Nvidia-Treiber werden NICHT mehr installiert, stattdessen alle Nvidia-Module komplett geblockt (blacklist-nvidia.conf) - GRUB: nomodeset fuer MBP 16" (verhindert GPU-Artefakte) - XFCE Compositor deaktiviert fuer MBP 16" - Sleep/Suspend waehrend Installation verhindert - openssh-server in Paketliste (SSH-Zugriff ab erstem Boot) - user-data: rene zur sudo-Gruppe, install-server: true - FreeCAD Snap: Fehler in chroot abfangen Co-Authored-By: Claude Opus 4.6 --- setup-base.sh | 79 +++++++++++++++++++++++++++++++++++++-------------- user-data | 4 ++- 2 files changed, 60 insertions(+), 23 deletions(-) diff --git a/setup-base.sh b/setup-base.sh index 1b30795..99e10f0 100755 --- a/setup-base.sh +++ b/setup-base.sh @@ -32,13 +32,18 @@ echo "════════════════════════ echo " setup-base.sh für MBP $MODEL\" startet" echo "════════════════════════════════════════════" +# ── 0. Sleep/Suspend verhindern während Installation ───────────────────── +echo -e "\n=== 0/9 Sleep verhindern ===" +systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 2>/dev/null || true +ok "Sleep/Suspend deaktiviert (für Installation)" + # ── 1. System aktualisieren ────────────────────────────────────────────── -echo -e "\n=== 1/8 System aktualisieren ===" +echo -e "\n=== 1/9 System aktualisieren ===" apt update && apt upgrade -y ok "System aktuell" # ── 2. Pakete installieren ─────────────────────────────────────────────── -echo -e "\n=== 2/8 Pakete installieren ===" +echo -e "\n=== 2/9 Pakete installieren ===" apt install -y \ xubuntu-desktop \ bcmwl-kernel-source \ @@ -51,6 +56,7 @@ apt install -y \ python3 python3-pip python3-venv \ nodejs npm \ wireguard wireguard-tools \ + openssh-server \ libreoffice libreoffice-l10n-de \ thunderbird thunderbird-locale-de \ keepassxc \ @@ -64,22 +70,26 @@ apt install -y \ ok "Pakete installiert (apt)" # FreeCAD via Snap (nicht in Ubuntu 24.04 Repos verfügbar) -snap install freecad +snap install freecad 2>/dev/null || warn "FreeCAD Snap übersprungen (chroot)" ok "FreeCAD installiert (snap)" -# ── 3. Nvidia (nur MBP 16") ────────────────────────────────────────────── +# ── 3. Nvidia blacklisten (MBP 16") ───────────────────────────────────── if [[ "$MODEL" == "16" ]]; then - echo -e "\n=== 3/8 Nvidia Optimus (MBP 16\") ===" - apt install -y nvidia-driver-535 nvidia-prime bbswitch-dkms - prime-select intel - ok "Nvidia installiert, Intel als Standard-GPU gesetzt" + echo -e "\n=== 3/9 Nvidia blacklisten (MBP 16\") ===" + cat > /etc/modprobe.d/blacklist-nvidia.conf < /dev/null </dev/null || true + ok "GRUB: nomodeset gesetzt (MBP 16\")" fi update-initramfs -u ok "Systemkonfigurationen gesetzt" -# ── 6. Energieeinstellungen (systemd) ──────────────────────────────────── -echo -e "\n=== 6/8 Energieeinstellungen ===" +# ── 6. XFCE Compositor deaktivieren (MBP 16") ──────────────────────────── +if [[ "$MODEL" == "16" ]]; then + echo -e "\n=== 6/9 XFCE Compositor deaktivieren ===" + XFWM4_DIR="/home/rene/.config/xfce4/xfconf/xfce-perchannel-xml" + mkdir -p "$XFWM4_DIR" + cat > "$XFWM4_DIR/xfwm4.xml" < + + + + + +XFEOF + chown -R 1000:1000 /home/rene/.config/xfce4 + ok "XFCE Compositor deaktiviert (MBP 16\")" +else + echo -e "\n=== 6/9 XFCE Compositor — beibehalten (MBP 13\") ===" +fi + +# ── 7. Energieeinstellungen (systemd) ──────────────────────────────────── +echo -e "\n=== 7/9 Energieeinstellungen ===" tee /etc/systemd/sleep.conf > /dev/null </dev/null || ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime ok "Lokalisierung: Deutsch / Berlin" -# ── 8. Services aktivieren ────────────────────────────────────────────── -echo -e "\n=== 8/8 Services aktivieren ===" +# ── 9. Services aktivieren ────────────────────────────────────────────── +echo -e "\n=== 9/9 Services aktivieren ===" systemctl enable mbpfan systemctl enable thermald systemctl enable tlp +systemctl enable ssh # --now nur wenn nicht in chroot if [[ "$(stat -c %d:%i /)" == "$(stat -c %d:%i /proc/1/root/.)" ]] 2>/dev/null; then systemctl start mbpfan systemctl start thermald + systemctl start ssh sensors-detect --auto 2>/dev/null || true - ok "mbpfan, thermald, tlp aktiv (gestartet)" + ok "mbpfan, thermald, tlp, ssh aktiv (gestartet)" else - ok "mbpfan, thermald, tlp aktiviert (Start nach Reboot)" + ok "mbpfan, thermald, tlp, ssh aktiviert (Start nach Reboot)" fi # ── zsh als Standard-Shell für rene ────────────────────────────────────── chsh -s /bin/zsh rene 2>/dev/null || true +# ── Sleep wieder erlauben ──────────────────────────────────────────────── +systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target 2>/dev/null || true + echo "" echo "════════════════════════════════════════════" echo -e " ${GREEN}setup-base.sh abgeschlossen!${NC}" diff --git a/user-data b/user-data index 20141f5..95f135e 100644 --- a/user-data +++ b/user-data @@ -10,11 +10,13 @@ autoinstall: username: rene password: "$6$lXt4c5wub9FgGOj2$rjwW.UjraH2yYwxabXH.diOu86KSfW.AZvIVRmScbH7Nmh.zLbeMbNITGtRKfpGhe01nqgw4fL8QK67B1oWaq." ssh: - install-server: false + install-server: true storage: layout: name: lvm late-commands: + # User rene zur sudo-Gruppe hinzufuegen + - curtin in-target --target=/target -- usermod -aG sudo rene # System-Setup in chroot (Pakete, Configs, Locale, Services) - curtin in-target --target=/target -- bash -c 'curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup-base.sh | bash -s -- 13' # Desktop-Setup als Firstboot-Autostart einrichten