#!/bin/bash set -e # Skript bricht bei Fehlern ab # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird if [[ $EUID -ne 0 ]]; then echo "Dieses Skript muss als root ausgeführt werden." exit 1 fi echo "🔄 Plymouth und benötigte Pakete installieren..." if ! dpkg -l | grep -qw plymouth; then apt update && apt install -y plymouth plymouth-themes else echo "✅ Plymouth ist bereits installiert." fi # Plymouth in initramfs aktivieren MKINIT_CONF="/etc/mkinitcpio.conf" if [[ -f "$MKINIT_CONF" ]]; then if grep -q "^HOOKS=" "$MKINIT_CONF"; then sed -i 's/^HOOKS=.*/HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)/' "$MKINIT_CONF" else echo 'HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)' >> "$MKINIT_CONF" fi fi # Falls Dracut genutzt wird, initramfs neu erstellen if command -v dracut &>/dev/null; then echo "🔄 Dracut erkannt, erstelle neues initramfs..." dracut -f else echo "🔄 Initramfs wird aktualisiert..." update-initramfs -u fi # Plymouth-Theme setzen PLYMOUTH_THEME="spinner" echo "🎨 Setze Plymouth-Theme auf '$PLYMOUTH_THEME'..." plymouth-set-default-theme -R "$PLYMOUTH_THEME" # Kernel-Boot-Parameter in GRUB anpassen GRUB_CFG="/etc/default/grub" GRUB_BACKUP="/etc/default/grub.bak" echo "🔍 Überprüfe GRUB-Einstellungen..." NEW_CMDLINE='quiet splash vt.global_cursor_default=0 loglevel=3 rd.luks.options=discard plymouth.ignore-serial-consoles' if grep -q "^GRUB_CMDLINE_LINUX_DEFAULT=.*$NEW_CMDLINE.*" "$GRUB_CFG"; then echo "✅ GRUB-Konfiguration bereits aktuell." else echo "🔄 Aktualisiere GRUB-Parameter..." cp "$GRUB_CFG" "$GRUB_BACKUP" sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="'$NEW_CMDLINE'"/' "$GRUB_CFG" echo "🔄 GRUB wird aktualisiert..." update-grub fi echo "✅ Einrichtung abgeschlossen. Bitte starte das System neu, um die Änderungen zu übernehmen."