From ea97f3e655ec93d1ef5b4b9707c044ddb4ff8bc9 Mon Sep 17 00:00:00 2001 From: Valeria Fadeeva Date: Thu, 9 Oct 2025 13:05:32 +0500 Subject: [PATCH] Update --- usr/bin/refind-menu-generator | 75 +++++++++++++++++------------------ 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/usr/bin/refind-menu-generator b/usr/bin/refind-menu-generator index 20e585c..921f735 100755 --- a/usr/bin/refind-menu-generator +++ b/usr/bin/refind-menu-generator @@ -156,29 +156,28 @@ if [ -d "${KERNEL_DIR_ON_EFI}" ]; then kernels_list_on_efi=$(ls -1 "${KERNEL_DIR_ON_EFI}/" | grep "^vmlinuz" | sed "s/vmlinuz-//") fi - echo -e "KERNELS:\n$kernels_list_on_efi" + echo -e "KERNELS ON EFI:\n$kernels_list_on_efi" if [[ -z "$kernels_list_on_efi" ]]; then - echo "ERROR: list of kernels is empty" - exit 1 + echo "ERROR: list of kernels on EFI is empty" + else + for i in $kernels_list_on_efi; + do + kernel=$(echo "$i" | sed 's/\.efi//g') + kernel_efi=$kernel + kernel_vmlinuz="vmlinuz-$kernel" + + osname=$(grep "^NAME=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') + icon=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') + + initramfs_tpl=$(echo "initramfs-$kernel" | sed "s/vmlinuz-//g") + initramfs="$initramfs_tpl" + + echo "OSNAME: $osname; THEME: $theme; ICON: $icon; KERNEL: $kernel; KERNEL_EFI: $kernel_efi; KERNEL_VMLINUZ: $kernel_vmlinuz; INITRAMFS: $initramfs; CMDLINE: $cmdline" + sed -e "s|{OSNAME}|$osname|g" -e "s|{THEME}|$theme|g" -e "s|{ICON}|$icon|g" -e "s|{KERNEL}|$kernel|g" -e "s|{KERNEL_EFI}|$kernel_efi|g" -e "s|{KERNEL_VMLINUZ}|$kernel_vmlinuz|g" -e "s|{INITRAMFS}|$initramfs|g" -e "s|{CMDLINE}|$cmdline|g" -e "s|{CMDLINE_TERMINAL}|$cmdline_terminal|g" "$template_on_efi" >> "$manual_conf" + done fi - for i in $kernels_list_on_efi; - do - kernel=$(echo "$i" | sed 's/\.efi//g') - kernel_efi=$kernel - kernel_vmlinuz="vmlinuz-$kernel" - - osname=$(grep "^NAME=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') - icon=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') - - initramfs_tpl=$(echo "initramfs-$kernel" | sed "s/vmlinuz-//g") - initramfs="$initramfs_tpl" - - echo "OSNAME: $osname; THEME: $theme; ICON: $icon; KERNEL: $kernel; KERNEL_EFI: $kernel_efi; KERNEL_VMLINUZ: $kernel_vmlinuz; INITRAMFS: $initramfs; CMDLINE: $cmdline" - sed -e "s|{OSNAME}|$osname|g" -e "s|{THEME}|$theme|g" -e "s|{ICON}|$icon|g" -e "s|{KERNEL}|$kernel|g" -e "s|{KERNEL_EFI}|$kernel_efi|g" -e "s|{KERNEL_VMLINUZ}|$kernel_vmlinuz|g" -e "s|{INITRAMFS}|$initramfs|g" -e "s|{CMDLINE}|$cmdline|g" -e "s|{CMDLINE_TERMINAL}|$cmdline_terminal|g" "$template_on_efi" >> "$manual_conf" - done - kernels_list_on_boot=$(ls -1 "${KERNEL_DIR_ON_BOOT}/" | grep 'linux' | grep -v 'fallback' | grep '\.efi$') @@ -186,30 +185,28 @@ if [ -d "${KERNEL_DIR_ON_EFI}" ]; then kernels_list_on_boot=$(ls -1 "${KERNEL_DIR_ON_BOOT}/" | grep "^vmlinuz" | sed "s/vmlinuz-//") fi - echo -e "KERNELS:\n$kernels_list_on_boot" + echo -e "KERNELS ON BOOT:\n$kernels_list_on_boot" if [[ -z "$kernels_list_on_boot" ]]; then - echo "ERROR: list of kernels is empty" - exit 1 + echo "ERROR: list of kernels on BOOT is empty" + else + for i in $kernels_list_on_boot; + do + kernel=$(echo "$i" | sed 's/\.efi//g') + kernel_efi=$kernel + kernel_vmlinuz="vmlinuz-$kernel" + + osname=$(grep "^NAME=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') + icon=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') + + initramfs_tpl=$(echo "initramfs-$kernel" | sed "s/vmlinuz-//g") + initramfs="$initramfs_tpl" + + echo "OSNAME: $osname; THEME: $theme; ICON: $icon; KERNEL: $kernel; KERNEL_EFI: $kernel_efi; KERNEL_VMLINUZ: $kernel_vmlinuz; INITRAMFS: $initramfs; CMDLINE: $cmdline" + sed -e "s|{OSNAME}|$osname|g" -e "s|{THEME}|$theme|g" -e "s|{ICON}|$icon|g" -e "s|{KERNEL}|$kernel|g" -e "s|{KERNEL_EFI}|$kernel_efi|g" -e "s|{KERNEL_VMLINUZ}|$kernel_vmlinuz|g" -e "s|{INITRAMFS}|$initramfs|g" -e "s|{CMDLINE}|$cmdline|g" -e "s|{CMDLINE_TERMINAL}|$cmdline_terminal|g" "$template_on_boot" >> "$manual_conf" + done fi - for i in $kernels_list_on_boot; - do - kernel=$(echo "$i" | sed 's/\.efi//g') - kernel_efi=$kernel - kernel_vmlinuz="vmlinuz-$kernel" - - osname=$(grep "^NAME=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') - icon=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | sed -e 's/"//g') - - initramfs_tpl=$(echo "initramfs-$kernel" | sed "s/vmlinuz-//g") - initramfs="$initramfs_tpl" - - echo "OSNAME: $osname; THEME: $theme; ICON: $icon; KERNEL: $kernel; KERNEL_EFI: $kernel_efi; KERNEL_VMLINUZ: $kernel_vmlinuz; INITRAMFS: $initramfs; CMDLINE: $cmdline" - sed -e "s|{OSNAME}|$osname|g" -e "s|{THEME}|$theme|g" -e "s|{ICON}|$icon|g" -e "s|{KERNEL}|$kernel|g" -e "s|{KERNEL_EFI}|$kernel_efi|g" -e "s|{KERNEL_VMLINUZ}|$kernel_vmlinuz|g" -e "s|{INITRAMFS}|$initramfs|g" -e "s|{CMDLINE}|$cmdline|g" -e "s|{CMDLINE_TERMINAL}|$cmdline_terminal|g" "$template_on_boot" >> "$manual_conf" - done - - manual_end_conf=$(mktemp)