# Nativer macOS-Weg (createinstallmedia) Alternative zum Docker/Linux-Tool im Projekt-Root — **nur nutzbar, wenn gerade ein echter Mac zur Verfuegung steht** (macOS 10.15 Catalina oder neuer). Dafuer bekommst du hierueber den offiziell von Apple sauber funktionierenden Weg: die echte `createinstallmedia`, statt des Recovery-Extraktions-Workarounds fuer den Big-Sur+-Pfad im Docker-Tool. ## Warum ein eigenes Script, warum nicht die `downloads/`-Bibliothek wiederverwenden? Kurz: **andere Bildformate, nicht kompatibel.** - Das Docker-Tool laedt rohe Katalog-Images (`BaseSystem.dmg` bzw. `InstallAssistant.pkg`) und schreibt sie per `dd` direkt auf den Stick. Funktioniert ohne Mac, aber `createinstallmedia` kann mit diesen rohen Dateien nichts anfangen — es braucht die komplette, fertig gepackte **"Install macOS X.app"**. - Der offizielle, von Apple unterstuetzte Weg an genau diese App zu kommen (auch ohne App-Store-Anmeldung) ist der macOS-Bordbefehl `softwareupdate --fetch-full-installer`. Das gibt es nur unter echtem macOS ab Catalina. Deshalb ist dieses Script komplett unabhaengig vom `./downloads`-Ordner des Docker-Tools. Es laedt sich seine App-Kopie selbst, direkt von Apple. ## Zukunftssicherheit `softwareupdate --list-full-installers` fragt Apples eigene Server live ab — genau wie der Katalog-Check im Docker-Tool, nur eben Apples eigenes Tool statt eigenem Parser. Neue macOS-Versionen tauchen automatisch in der Liste auf, ohne dass hier Code angepasst werden muss. ## Nutzung ```bash cd native-macos chmod +x create-stick.sh # falls das Ausfuehr-Bit beim Kopieren verloren ging ./create-stick.sh ``` Fuehrt durch vier Schritte (reines Terminal-Menue, keine externen Abhaengigkeiten — nur `softwareupdate`, `diskutil`, `PlistBuddy`, `createinstallmedia`, alles Bordmittel): 1. **Versionsliste** von Apple abrufen, Version auswaehlen. 2. **Download** der vollen Installer-App via `softwareupdate --fetch-full-installer` (wird uebersprungen, wenn die App schon unter `/Applications` liegt). 3. **USB-Stick auswaehlen** — Liste nur externer, physischer Laufwerke (`diskutil list -plist external physical`), danach Sicherheitsabfrage: exakter Geraetepfad muss nochmal eingetippt werden, bevor irgendwas geloescht wird. 4. **`createinstallmedia --nointeraction`** laeuft mit `sudo`, live-Ausgabe im Terminal. Am Ende optional die (mehrere GB grosse) Installer-App wieder loeschen. ## Grenzen - Nur macOS 10.15+ (Catalina oder neuer) als **Host**, auf dem das Script laeuft — das Zielsystem, auf das installiert wird, kann trotzdem jede von Apple unterstuetzte Version sein. - Kein Multiboot-Support (anders als das Docker-Tool) — `createinstallmedia` erstellt immer einen kompletten Single-Version-Stick. Waere technisch nachruestbar (mehrere Partitionen, mehrere `createinstallmedia`-Laeufe mit `--volume` auf je eine Partition), aber aktuell nicht gebaut. - Downloads landen unter `/Applications` (Apples Standardverhalten von `softwareupdate`), nicht im Projektordner — dieser Zweig ist bewusst nicht auf Portabilitaet/externe Platte ausgelegt wie das Docker-Tool, sondern auf den einfachsten Weg wenn gerade ein Mac da ist.