diff --git a/README.md b/README.md index 2522032..caf0318 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,140 @@ # macbook-setup -Automatisiertes Linux-Setup für MacBook Pro 13" Late 2013 und 16" Mid 2014. +Automatisiertes Ubuntu 24.04 (Xubuntu-Desktop) Setup fuer alte MacBook Pros. -## Inhalt +## Unterstuetzte Hardware + +| Bezeichnung | Modell | CPU | GPU | Besonderheiten | +|---|---|---|---|---| +| m16 | MBP 15" Mid 2014 | i7-4980HQ | Intel HD 5200 + AMD Radeon R9 M370X | AMD wird geblockt | +| m13 | MBP 13" Late 2013 | i5 | Intel Iris | keine Dual-GPU-Probleme | + +Beide haben Broadcom BCM4360 WLAN (kein Treiber im Ubuntu-Installer!). + +## Installations-Ablauf + +**WICHTIG:** Immer das **Stock Ubuntu 24.04 Server ISO** verwenden, NICHT das custom ISO (build-iso.sh). +Grund: Broadcom-WLAN hat keinen Treiber in der Live-Umgebung. Nur der interaktive Installer hat einen eingebauten WLAN-Schritt. + +### 1. USB-Stick vorbereiten + +```bash +# Stock ISO herunterladen +# https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso + +# Auf USB-Stick schreiben (macOS) +sudo dd if=ubuntu-24.04-live-server-amd64.iso of=/dev/rdiskN bs=4m status=progress +``` + +### 2. Ubuntu installieren + +1. USB-Stick einstecken, MacBook einschalten, **Alt-Taste** gedrückt halten +2. "EFI Boot" auswaehlen +3. Interaktiv installieren: + - Sprache: Deutsch + - Tastatur: Deutsch + - **WLAN im Installer einrichten** (wichtig!) + - User: `rene` + - LVM: ja +4. Neustarten, als `rene` einloggen + +### 3. System-Setup (setup-base.sh) + +```bash +# Fuer MBP 16": +curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup-base.sh | sudo bash -s -- 16 + +# Fuer MBP 13": +curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup-base.sh | sudo bash -s -- 13 +``` + +Installiert: xubuntu-desktop, Treiber, WireGuard, NetworkManager, mbpfan, Flatpak, SSH-Server u.v.m. + +Danach: `sudo reboot` + +### 4. Desktop-Setup (setup-desktop.sh) + +In XFCE einloggen. Das Skript startet automatisch via Autostart im Terminal-Fenster. + +Falls nicht automatisch gestartet: +```bash +curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup-desktop.sh | bash +``` + +Installiert: oh-my-zsh, Powerlevel10k, Claude Code, PrusaSlicer, Dotfiles, XFCE-Konfiguration. + +### 5. Manuelle Schritte + +- **Synology Drive Client:** `.deb` von synology.com, `sudo dpkg -i ...` +- **Thunderbird:** Profil aus Synology Drive einbinden +- **Brave Browser:** Sync-Kette beitreten + +## Dateien | Datei | Beschreibung | -|-------|-------------| -| `setup.sh` | Wrapper: ruft setup-base.sh + setup-desktop.sh auf (Option A) | -| `setup-base.sh` | System-Setup: Pakete, Configs, Locale, Services (chroot-sicher) | -| `setup-desktop.sh` | Desktop-Setup: oh-my-zsh, Claude Code, PrusaSlicer, Dotfiles, XFCE | -| `user-data` | Ubuntu Autoinstall (cloud-init) für ISO-Erstellung | -| `meta-data` | cloud-init Metadaten (erforderlich) | -| `mbpfan-13.conf` | mbpfan-Konfiguration für MBP 13" Late 2013 | -| `mbpfan-16.conf` | mbpfan-Konfiguration für MBP 16" Mid 2014 (Nvidia, aggressiver) | -| `hid_apple.conf` | Fn-Tasten als Standard (fnmode=2) | +|---|---| +| `setup-base.sh` | System-Setup: Pakete, Configs, Locale, Services | +| `setup-desktop.sh` | Desktop-Setup: oh-my-zsh, Claude Code, Dotfiles, XFCE | +| `setup.sh` | Wrapper (ruft beide auf) | +| `CLAUDE.md` | Projektkontext fuer Claude Code (Erkenntnisse, Lessons Learned) | +| `mbpfan-13.conf` | Lueftersteuerung MBP 13" | +| `mbpfan-16.conf` | Lueftersteuerung MBP 16" (aggressiver) | +| `hid_apple.conf` | Fn-Tasten als Standard | | `keyboard` | Tastaturbelegung Deutsch (Macintosh) | -| `blacklist-nvidia.conf` | Nvidia/nouveau blacklisten (optional, für Intel-only Betrieb) | -| `temp-watch.sh` | Temperatur-Überwachung mit Desktop-Notification | -| `build-iso.sh` | ISO-Erstellungs-Skript für Ventoy | - -## Schnellstart - -### Option A: Automatisches Setup nach Minimalinstallation -```bash -curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup.sh | bash -``` - -### Option B: Vollautomatische ISO erstellen -```bash -git clone https://git.motocamp.de/rene/macbook-setup.git -cd macbook-setup -./build-iso.sh -# → ubuntu-macbook-autoinstall.iso (für Ventoy) -``` - -## Voraussetzungen - -- WireGuard-Config für das jeweilige MacBook (separat aufbewahren) -- Forgejo-Zugang für Dot-Files-Clone -- Thunderbird-Profil-Backup in Synology Drive +| `blacklist-nvidia.conf` | Nvidia/nouveau blacklisten | +| `temp-watch.sh` | Temperatur-Ueberwachung mit Notification | +| `wireguard/` | WireGuard-Konfigurationen (m13, m16) | ## Paketquellen | App | Quelle | Grund | -|-----|--------|-------| -| LibreOffice | Snap | .deb-Version hat Installationsfehler auf MBP | +|---|---|---| +| LibreOffice | Snap | .deb zeigt "benutzerdefinierte Installation nicht abgeschlossen" | | FreeCAD | Snap | Standard | -| Brave Browser | Flatpak | .deb crasht (int3/SIGTRAP) auf aelterer Hardware | +| Brave Browser | Flatpak | .deb crasht (SIGTRAP/int3) auf aelterer Hardware | | PrusaSlicer | Flatpak | Standard | -## Hardware-Besonderheiten +## Netzwerk -### MBP 16" Mid 2014 (Intel + Nvidia GT 750M) -- Nvidia Optimus: `prime-select intel` als Standard -- Aggressivere Lüfter-Konfiguration via `mbpfan-16.conf` -- Bei Problemen: `blacklist-nvidia.conf` aktivieren +- Heimnetz: `10.47.11.0/24` +- Fritz!Box: `10.47.11.1` +- Synology: `10.47.11.10` (dsm.motocamp.de) +- WireGuard VPN: `10.13.13.x` (Server: `24.134.39.137:443`) +- m16 erreichbar per `ssh rene@m16.local` -### MBP 13" Late 2013 -- Robuster, keine Dual-GPU-Probleme -- Standard `mbpfan-13.conf` reicht aus +## Troubleshooting -## Abhängigkeiten +### WLAN geht nicht nach Installation -- Netzwerk: `10.47.11.0/24` (via WireGuard `10.13.13.x`) -- DiskStation: `10.47.11.10` (SMTP, IMAP, Synology Drive) -- Dot-Files: `https://git.motocamp.de/rene/dotfiles-rene.git` +```bash +sudo apt install bcmwl-kernel-source +sudo modprobe wl +``` + +### Bildschirm flackert / Grafikartefakte (MBP 16") + +AMD Radeon R9 M370X muss geblockt werden: +```bash +echo -e "blacklist radeon\nblacklist amdgpu" | sudo tee /etc/modprobe.d/blacklist-radeon.conf +sudo update-initramfs -u && sudo reboot +``` + +### Boot haengt (wartet auf Netzwerk) + +```bash +sudo systemctl disable systemd-networkd-wait-online.service +``` + +### Display-Einstellungen oeffnen sich in Endlosschleife (MBP 16") + +```bash +sudo mv /usr/bin/xfce4-display-settings /usr/bin/xfce4-display-settings.bak +``` + +### WireGuard: keine Verbindung + +```bash +sudo wg show +# Pruefen: local public key darf NICHT gleich dem Peer-PublicKey sein! +# Falls doch: falscher Key in der Config, Server-PublicKey einsetzen. +```