#!/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=.*" "$GRUB_CFG"; then sed -i "s|^GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT=\"$NEW_CMDLINE\"|" "$GRUB_CFG" echo "🔄 GRUB wird aktualisiert..." update-grub else echo "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."