Setup/6_Plymouth.sh

52 lines
1.7 KiB
Bash
Executable File

#!/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..."
pacman -Syu --noconfirm plymouth
yay -Syu plymouth-theme-archlinux --noconfirm
# 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
# Initramfs neu erstellen
echo "🔄 Initramfs wird aktualisiert..."
mkinitcpio -P
# Arch Plymouth-Theme setzen
echo "🎨 Setze Plymouth-Theme auf 'arch'..."
plymouth-set-default-theme -R archlinux
# Kernel-Boot-Parameter in systemd-boot anpassen
BOOT_LOADER_CONF="/boot/loader/entries/arch.conf"
if [[ -f "$BOOT_LOADER_CONF" ]]; then
echo "🔍 Überprüfe systemd-boot-Konfiguration..."
NEW_CMDLINE="quiet splash vt.global_cursor_default=0 loglevel=3 rd.luks.options=discard plymouth.ignore-serial-consoles"
# Kernel-Parameter anpassen
if grep -q "options=" "$BOOT_LOADER_CONF"; then
sed -i "s|^options=.*|options=\"$NEW_CMDLINE\"|" "$BOOT_LOADER_CONF"
else
echo "options=\"$NEW_CMDLINE\"" >>"$BOOT_LOADER_CONF"
fi
else
echo "❌ systemd-boot Konfigurationsdatei nicht gefunden!"
exit 1
fi
echo "✅ Einrichtung abgeschlossen. Bitte starte das System neu, um die Änderungen zu übernehmen."