diff --git a/config/grub/config/grub.cfg b/config/grub/config/grub.cfg index 745cde8b14db09f6dd20318db0ce12ca4110d3a3..648116198ba9d8ea231ad6c481c2b2e6b78e6e78 100644 --- a/config/grub/config/grub.cfg +++ b/config/grub/config/grub.cfg @@ -80,6 +80,8 @@ set pager=1 read } +# FIXME Make an automatic override for BTRFS directories instead of copypasting with a "@/" in front of every element + # Default list of GRUB possible directories. The @/... entries are for cases where the BTRFS filesystem is being used set grub_dirs="boot grub grub2 boot/grub boot/grub2 @/boot @/grub @/grub2 @/boot/grub @/boot/grub2" # Default list of GRUB possible config files prefixes @@ -99,6 +101,7 @@ function try_user_grub_config { fi done } + function search_grub { echo -n "Attempting to load grub.cfg from '${1}' devices" for i in 0 1 2 3 4 5 6 7 8 9 10 11; do @@ -111,9 +114,12 @@ function search_grub { echo # Insert newline } +# Default list of ISOLINUX possible directories. The @/... entries are for cases where the BTRFS filesystem is being used +set isolinux_dirs="'' /boot /EFI /boot/EFI /@ /@/boot /@/boot/EFI /@/EFI" + function try_isolinux_config { set root="${1}" - for dir in '' /boot /EFI /boot/EFI /@ /@/boot /@/boot/EFI /@/EFI; do + for dir in ${isolinux_dirs}; do if [ -f "${dir}"/isolinux/isolinux.cfg ]; then syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then @@ -125,6 +131,7 @@ function try_isolinux_config { fi done } + function search_isolinux { echo "\nAttempting to parse iso/sys/extlinux config from '${1}' devices" for i in 0 1 2 3 4 5 6 7 8 9 10 11; do @@ -136,6 +143,7 @@ function search_isolinux { done echo # Insert newline } + function try_bootcfg { try_user_grub_config "${1}" try_isolinux_config "${1}"