Initial commit: Linux-Setup für MacBook Pro 13" und 16"
Vollautomatisches Post-Install-Setup für Ubuntu 24.04 auf MacBook Pro Late 2013 (13") und Mid 2014 (16" mit Nvidia Optimus). Enthält: - setup.sh: Komplettes Post-Install-Skript (Pakete, Xubuntu, Brave, PrusaSlicer, oh-my-zsh, Claude Code, Dotfiles via Forgejo/Stow, mbpfan, thermald, TLP, WireGuard, Lokalisierung DE) - build-iso.sh: Ubuntu Autoinstall ISO für Ventoy erstellen - user-data/meta-data: cloud-init Autoinstall-Konfiguration - mbpfan-13.conf / mbpfan-16.conf: Modellspezifische Lüftersteuerung - hid_apple.conf / keyboard: Deutsche Mac-Tastaturbelegung + Fn-Tasten - blacklist-nvidia.conf: Optionaler Nvidia/nouveau-Blacklist - temp-watch.sh: CPU-Temperaturüberwachung mit Desktop-Notification Infrastruktur-Abhängigkeiten: - Dotfiles: git.motocamp.de/rene/dotfiles.git (via GNU Stow) - DiskStation 10.47.11.10 (SMTP, IMAP, Synology Drive) - WireGuard-VPN 10.13.13.x ins Heimnetz 10.47.11.0/24
This commit is contained in:
commit
722bd849f9
12 changed files with 494 additions and 0 deletions
92
build-iso.sh
Normal file
92
build-iso.sh
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
#!/bin/bash
|
||||
# build-iso.sh — Ubuntu 24.04 Autoinstall ISO für Ventoy bauen
|
||||
# Ausführen auf einem Ubuntu/Debian-System mit Internetzugang
|
||||
# Ergebnis: ubuntu-macbook-autoinstall.iso (~4-5 GB)
|
||||
|
||||
set -e
|
||||
UBUNTU_ISO_URL="https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso"
|
||||
UBUNTU_ISO="ubuntu-24.04-live-server-amd64.iso"
|
||||
OUTPUT_ISO="ubuntu-macbook-autoinstall.iso"
|
||||
WORKDIR="/tmp/iso-build"
|
||||
|
||||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||
ok() { echo -e "${GREEN}✓ $*${NC}"; }
|
||||
warn() { echo -e "${YELLOW}⚠ $*${NC}"; }
|
||||
|
||||
echo "════════════════════════════════════════════"
|
||||
echo " macbook-setup ISO Builder"
|
||||
echo "════════════════════════════════════════════"
|
||||
|
||||
# Abhängigkeiten
|
||||
echo -e "\n=== Abhängigkeiten prüfen ==="
|
||||
sudo apt install -y xorriso squashfs-tools genisoimage
|
||||
ok "Werkzeuge verfügbar"
|
||||
|
||||
# Ubuntu ISO herunterladen (falls nicht vorhanden)
|
||||
if [[ ! -f "$UBUNTU_ISO" ]]; then
|
||||
echo -e "\n=== Ubuntu 24.04 ISO herunterladen ==="
|
||||
wget --show-progress -O "$UBUNTU_ISO" "$UBUNTU_ISO_URL"
|
||||
ok "ISO heruntergeladen"
|
||||
else
|
||||
ok "ISO bereits vorhanden: $UBUNTU_ISO"
|
||||
fi
|
||||
|
||||
# Arbeitsverzeichnis vorbereiten
|
||||
echo -e "\n=== ISO entpacken ==="
|
||||
rm -rf "$WORKDIR"
|
||||
mkdir -p "$WORKDIR/source"
|
||||
sudo mount -o loop "$UBUNTU_ISO" /mnt
|
||||
cp -rT /mnt "$WORKDIR/source"
|
||||
sudo umount /mnt
|
||||
chmod -R u+w "$WORKDIR/source"
|
||||
ok "ISO entpackt nach $WORKDIR/source"
|
||||
|
||||
# autoinstall-Dateien einfügen
|
||||
echo -e "\n=== Autoinstall-Dateien einbetten ==="
|
||||
mkdir -p "$WORKDIR/source/autoinstall"
|
||||
cp user-data "$WORKDIR/source/autoinstall/"
|
||||
cp meta-data "$WORKDIR/source/autoinstall/"
|
||||
ok "user-data und meta-data eingefügt"
|
||||
|
||||
# GRUB-Konfiguration: autoinstall-Parameter hinzufügen
|
||||
echo -e "\n=== GRUB konfigurieren ==="
|
||||
GRUB_CFG="$WORKDIR/source/boot/grub/grub.cfg"
|
||||
# Autoinstall-Eintrag am Anfang einfügen
|
||||
cat > /tmp/grub-autoinstall.cfg <<'EOF'
|
||||
set default=0
|
||||
set timeout=10
|
||||
|
||||
menuentry "Ubuntu MacBook AutoInstall" {
|
||||
set gfxpayload=keep
|
||||
linux /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/autoinstall/ ---
|
||||
initrd /casper/initrd
|
||||
}
|
||||
|
||||
EOF
|
||||
cat /tmp/grub-autoinstall.cfg "$GRUB_CFG" > /tmp/grub-merged.cfg
|
||||
mv /tmp/grub-merged.cfg "$GRUB_CFG"
|
||||
ok "GRUB konfiguriert (autoinstall als Standard)"
|
||||
|
||||
# ISO neu bauen
|
||||
echo -e "\n=== ISO bauen ==="
|
||||
xorriso -as mkisofs \
|
||||
-r -V "Ubuntu-24.04-MacBook" \
|
||||
-J -joliet-long \
|
||||
-b boot/grub/i386-pc/eltorito.img \
|
||||
-c boot.catalog \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||
--efi-boot boot/grub/efi.img \
|
||||
-efi-boot-part --efi-startup-part --protective-msdos-label \
|
||||
"$WORKDIR/source" \
|
||||
-o "$OUTPUT_ISO"
|
||||
|
||||
ok "ISO erstellt: $OUTPUT_ISO"
|
||||
echo ""
|
||||
echo "Größe: $(du -sh "$OUTPUT_ISO" | cut -f1)"
|
||||
echo ""
|
||||
warn "Nächster Schritt: ISO auf Ventoy-Stick kopieren"
|
||||
echo " cp $OUTPUT_ISO /media/\$USER/Ventoy/"
|
||||
echo ""
|
||||
warn "Vor der Installation: user-data anpassen!"
|
||||
echo " - Passwort-Hash: mkpasswd -m sha-512 DEINPASSWORT"
|
||||
echo " - Modell: 'setup.sh -- 13' oder 'setup.sh -- 16' in user-data"
|
||||
Loading…
Add table
Add a link
Reference in a new issue