1 changed files with 66 additions and 0 deletions
@ -0,0 +1,66 @@ |
|||
#!/usr/bin/bash |
|||
|
|||
# Output colors |
|||
RED='\033[0;31m' |
|||
GREEN='\033[0;32m' |
|||
YELLOW='\033[1;33m' |
|||
NC='\033[0m' # No Color |
|||
|
|||
# Logging-Funktion |
|||
log() { |
|||
echo -e "${GREEN}[INFO]${NC} $1" |
|||
} |
|||
|
|||
warn() { |
|||
echo -e "${YELLOW}[WARN]${NC} $1" |
|||
} |
|||
|
|||
error() { |
|||
echo -e "${RED}[ERROR]${NC} $1" |
|||
} |
|||
|
|||
# Check for root privileges |
|||
if [ "$EUID" -ne 0 ]; then |
|||
echo "This script must be run as root" |
|||
exit 1 |
|||
fi |
|||
|
|||
# Create /boot/firmware dir if it doesn't exist |
|||
if [ ! -d /boot/firmware ]; then mkdir -p /boot/firmware; fi |
|||
|
|||
# Enable extended globbing for pattern matching |
|||
shopt -s extglob |
|||
|
|||
# Copy all files from /boot to /boot/firmware and remove the originals |
|||
log "Moving files to /boot/firmware..." |
|||
rsync -av --remove-source-files /boot/ /boot/firmware/ |
|||
|
|||
# Update the mount point for /boot in fstab to /boot/firmware |
|||
log "Updating fstab..." |
|||
cp -a /etc/fstab /etc/fstab.bak # create backup |
|||
sed -i 's|^\([^#].*\)[[:space:]]/boot[[:space:]]|\1 /boot/firmware |' /etc/fstab |
|||
|
|||
# Sync cache and reboot the system to apply changes |
|||
sync |
|||
# prompt for reboot |
|||
echo "" |
|||
while true; do |
|||
read -p "Möchtest du das System jetzt neustarten, um die Änderungen zu testen? (J/N): " choice |
|||
case $choice in |
|||
[Jj]* ) |
|||
warn "System will be rebooted in 3 seconds" |
|||
sleep 2 |
|||
reboot |
|||
;; |
|||
[Nn]* ) |
|||
log "Neustart übersprungen." |
|||
log "Bitte starte das System manuell neu, um die Änderungen zu testen." |
|||
break |
|||
;; |
|||
* ) |
|||
warn "Bitte antworte mit J (Ja) oder N (Nein)." |
|||
;; |
|||
esac |
|||
done |
|||
|
|||
exit 0 |
Loading…
Reference in new issue