diff --git a/6_Plymouth.sh b/6_Plymouth.sh new file mode 100755 index 0000000..7e147db --- /dev/null +++ b/6_Plymouth.sh @@ -0,0 +1,54 @@ +#!/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 ! pacman -Q plymouth &>/dev/null; then + pacman -Syu --noconfirm plymouth plymouth-theme-arch +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 + +# Initramfs neu erstellen +echo "🔄 Initramfs wird aktualisiert..." +mkinitcpio -P + +# Arch Plymouth-Theme setzen +echo "🎨 Setze Plymouth-Theme auf 'arch'..." +plymouth-set-default-theme -R arch + +# 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." diff --git a/8_Plymouth.sh b/8_Plymouth.sh deleted file mode 100755 index 25a8d95..0000000 --- a/8_Plymouth.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/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."