From c5e493c5773211ad0b277063c8153dcbd68afae1 Mon Sep 17 00:00:00 2001 From: Eshan Roy Date: Tue, 19 Nov 2024 09:48:10 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(clear):=20clarify=20output?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- usr/local/bin/snigdhaos-toboot | 67 +++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/usr/local/bin/snigdhaos-toboot b/usr/local/bin/snigdhaos-toboot index ade4313..04a8670 100755 --- a/usr/local/bin/snigdhaos-toboot +++ b/usr/local/bin/snigdhaos-toboot @@ -1,29 +1,54 @@ #!/bin/bash -if lsblk | grep -q "/boot/efi" ; then - echo - echo "Reinstalling systemd-boot..." - echo +# Check if /boot/efi exists and is a valid EFI partition +if lsblk | grep -q "/boot/efi"; then + echo + echo "Reinstalling systemd-boot..." + echo - sudo pacman -S --noconfirm kernel-install-mkinitcpio - sudo bootctl install - sudo reinstall-kernels + # 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 [[ -f /boot/efi/loader/loader.conf ]];then - sudo sed -i "s/#timeout 3/timeout 3/g" /boot/efi/loader/loader.conf - fi + if ! pacman -Q kernel-install-mkinitcpio &>/dev/null; then + echo "Error: kernel-install-mkinitcpio package is not installed." + exit 1 + fi - if [[ -f /boot/efi/loader/loader.conf ]];then - sudo sed -i "s/#console-mode keep/console-mode keep/g" /boot/efi/loader/loader.conf - fi + # Install or reinstall systemd-boot related packages + sudo pacman -S --noconfirm kernel-install-mkinitcpio + sudo bootctl install + sudo reinstall-kernels - echo - echo "Task Completed!" - echo + # 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 Falied!" - echo "More on: https://wiki.archlinux.org/title/Arch_boot_process" - echo -fi \ No newline at end of file + 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