mirror of
https://github.com/Snigdha-OS/snigdhaos-system-config.git
synced 2025-09-21 03:55:00 +02:00
55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check if /boot/efi exists and is a valid EFI partition
|
|
if lsblk | grep -q "/boot/efi"; then
|
|
echo
|
|
echo "Reinstalling systemd-boot..."
|
|
echo
|
|
|
|
# Check if necessary tools are installed
|
|
if ! command -v bootctl &>/dev/null; then
|
|
echo "Error: bootctl is not installed. Please install systemd-boot first."
|
|
exit 1
|
|
fi
|
|
|
|
if ! pacman -Q kernel-install-mkinitcpio &>/dev/null; then
|
|
echo "Error: kernel-install-mkinitcpio package is not installed."
|
|
exit 1
|
|
fi
|
|
|
|
# Install or reinstall systemd-boot related packages
|
|
sudo pacman -S --noconfirm kernel-install-mkinitcpio
|
|
sudo bootctl install
|
|
sudo reinstall-kernels
|
|
|
|
# Check if loader.conf exists, then adjust settings
|
|
loader_conf="/boot/efi/loader/loader.conf"
|
|
if [[ -f "$loader_conf" ]]; then
|
|
echo "Modifying $loader_conf..."
|
|
|
|
# Backup loader.conf before modifying
|
|
sudo cp "$loader_conf" "$loader_conf.bak"
|
|
|
|
# Modify loader.conf
|
|
sudo sed -i "s/#timeout 3/timeout 3/" "$loader_conf"
|
|
sudo sed -i "s/#console-mode keep/console-mode keep/" "$loader_conf"
|
|
|
|
echo "Systemd-boot loader configuration updated."
|
|
else
|
|
echo "Error: $loader_conf not found. Unable to modify loader configuration."
|
|
exit 1
|
|
fi
|
|
|
|
echo
|
|
echo "Task Completed!"
|
|
echo
|
|
|
|
else
|
|
echo
|
|
echo "Task Failed!"
|
|
echo "No /boot/efi partition found. Please ensure you are using UEFI mode."
|
|
echo "More on: https://wiki.archlinux.org/title/Arch_boot_process"
|
|
echo
|
|
exit 1
|
|
fi
|