Feat: Passt das Skript für Arch an.
This commit is contained in:
parent
dfe04920a9
commit
869fac02d8
54
6_Plymouth.sh
Executable file
54
6_Plymouth.sh
Executable file
@ -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."
|
||||
@ -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."
|
||||
Loading…
x
Reference in New Issue
Block a user