aboutsummaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2015-08-16 19:52:50 +0100
committerFrancis Rowe <info@gluglug.org.uk>2015-08-16 19:52:50 +0100
commitee9f1bd4dc64786026c34267919441266c49c039 (patch)
treef829226a19c05166334065fc5c6e6003df8f73f6 /resources
parent20614bf4f94f6d6e63d2a43e948e59a7720dc83e (diff)
downloadlibrebootfr-ee9f1bd4dc64786026c34267919441266c49c039.tar.gz
librebootfr-ee9f1bd4dc64786026c34267919441266c49c039.zip
grub.cfg: simplify (remove repetition)
Diffstat (limited to 'resources')
-rw-r--r--resources/grub/config/menuentries/common.cfg116
1 files changed, 35 insertions, 81 deletions
diff --git a/resources/grub/config/menuentries/common.cfg b/resources/grub/config/menuentries/common.cfg
index e5633719..683fbc83 100644
--- a/resources/grub/config/menuentries/common.cfg
+++ b/resources/grub/config/menuentries/common.cfg
@@ -3,36 +3,21 @@ menuentry 'Load Operating System' {
insmod part_msdos
insmod part_gpt
for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4); do
- if [ -f "$x/grub/libreboot_grub.cfg" ] ; then
- set root=$x
- configfile /grub/libreboot_grub.cfg
- fi
- if [ -f "$x/boot/grub/libreboot_grub.cfg" ] ; then
- set root=$x
- configfile /boot/grub/libreboot_grub.cfg
- fi
- if [ -f "$x/grub/grub.cfg" ] ; then
- set root=$x
- configfile /grub/grub.cfg
- fi
- if [ -f "$x/boot/grub/grub.cfg" ] ; then
- set root=$x
- configfile /boot/grub/grub.cfg
- fi
+ for path in "/grub/libreboot_grub.cfg" "/boot/grub/libreboot_grub.cfg" "/grub/grub.cfg" "/boot/grub/grub.cfg"; do
+ if [ -f "${x}${path}" ] ; then
+ set root=${x}
+ configfile ${path}
+ fi
+ done
done
set root='ahci0,1'
- if [ -f "/vmlinuz" ] ; then
- linux /vmlinuz root=/dev/sda1 rw
- if [ -f "/initrd.img" ] ; then
- initrd /initrd.img
+ for path in "" "/boot"; do
+ if [ -f "${path}/vmlinuz" ]; then
+ linux ${path}/vmlinuz root=/dev/sda1 rw
+ initrd ${path}/initrd.img
fi
- elif [ -f "/boot/vmlinuz" ] ; then
- linux /boot/vmlinuz root=/dev/sda1 rw
- if [ -f "/boot/initrd.img" ] ; then
- initrd /boot/initrd.img
- fi
- fi
+ done
}
menuentry 'Parse ISOLINUX menu (ahci0)' {
insmod ahci
@@ -40,15 +25,11 @@ menuentry 'Parse ISOLINUX menu (ahci0)' {
insmod part_gpt
for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4); do
set root=$x
- if [ -f "/isolinux/isolinux.cfg" ] ; then
- syslinux_configfile -i /isolinux/isolinux.cfg
- elif [ -f "/syslinux/syslinux.cfg" ] ; then
- syslinux_configfile -i /syslinux/syslinux.cfg
- elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
- syslinux_configfile -i /boot/isolinux/isolinux.cfg
- elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
- syslinux_configfile -i /boot/syslinux/syslinux.cfg
- fi
+ for path in "/isolinux/isolinux.cfg" "/syslinux/syslinux.cfg" "/boot/isolinux/isolinux.cfg" "/boot/syslinux/syslinux.cfg"; do
+ if [ -f "${path}" ]; then
+ syslinux_configfile -i ${path}
+ fi
+ done
done
}
menuentry 'Parse ISOLINUX menu (USB)' {
@@ -57,15 +38,11 @@ menuentry 'Parse ISOLINUX menu (USB)' {
insmod part_gpt
for x in (usb0) (usb0,1) (usb0,2) (usb0,3) (usb0,4); do
set root=$x
- if [ -f "/isolinux/isolinux.cfg" ] ; then
- syslinux_configfile -i /isolinux/isolinux.cfg
- elif [ -f "/syslinux/syslinux.cfg" ] ; then
- syslinux_configfile -i /syslinux/syslinux.cfg
- elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
- syslinux_configfile -i /boot/isolinux/isolinux.cfg
- elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
- syslinux_configfile -i /boot/syslinux/syslinux.cfg
- fi
+ for path in "/isolinux/isolinux.cfg" "/syslinux/syslinux.cfg" "/boot/isolinux/isolinux.cfg" "/boot/syslinux/syslinux.cfg"; do
+ if [ -f "${path}" ]; then
+ syslinux_configfile -i ${path}
+ fi
+ done
done
}
menuentry 'Parse ISOLINUX menu (CD/DVD)' {
@@ -74,15 +51,11 @@ menuentry 'Parse ISOLINUX menu (CD/DVD)' {
insmod iso9660
for x in (ata0) (ahci1); do
set root=$x
- if [ -f "/isolinux/isolinux.cfg" ] ; then
- syslinux_configfile -i /isolinux/isolinux.cfg
- elif [ -f "/syslinux/syslinux.cfg" ] ; then
- syslinux_configfile -i /syslinux/syslinux.cfg
- elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
- syslinux_configfile -i /boot/isolinux/isolinux.cfg
- elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
- syslinux_configfile -i /boot/syslinux/syslinux.cfg
- fi
+ for path in "/isolinux/isolinux.cfg" "/syslinux/syslinux.cfg" "/boot/isolinux/isolinux.cfg" "/boot/syslinux/syslinux.cfg"; do
+ if [ -f "${path}" ]; then
+ syslinux_configfile -i ${path}
+ fi
+ done
done
}
menuentry 'Switch to grubtest.cfg' {
@@ -95,34 +68,15 @@ menuentry 'Search for GRUB configuration (grub.cfg) outside of CBFS' {
insmod part_msdos
insmod part_gpt
for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4) (usb0) (usb0,1) (usb0,2) (usb0,3) (usb0,4); do
- if [ -f "$x/grub/grub.cfg" ] ; then
- submenu "Load Config from $x" $x {
- root=$2
- source /grub/grub.cfg
- unset superusers
- }
- fi
- if [ -f "$x/boot/grub/grub.cfg" ] ; then
- submenu "Load Config from $x" $x {
- root=$2
- source /boot/grub/grub.cfg
- unset superusers
- }
- fi
- if [ -f "$x/grub2/grub.cfg" ] ; then
- submenu "Load Config from $x" $x {
- root=$2
- source /grub2/grub.cfg
- unset superusers
- }
- fi
- if [ -f "$x/boot/grub2/grub.cfg" ] ; then
- submenu "Load Config from $x" $x {
- root=$2
- source /boot/grub2/grub.cfg
- unset superusers
- }
- fi
+ for path in "/grub/grub.cfg" "/boot/grub/grub.cfg" "/grub2/grub.cfg" "/boot/grub2/grub.cfg"; do
+ if [ -f "${x}${path}" ] ; then
+ submenu "Load Config from $x" $x {
+ root=$2
+ source ${path}
+ unset superusers
+ }
+ fi
+ done
done
}