summaryrefslogtreecommitdiff
path: root/resources/grub
diff options
context:
space:
mode:
Diffstat (limited to 'resources/grub')
-rw-r--r--resources/grub/config/grub.cfg14
1 files changed, 10 insertions, 4 deletions
diff --git a/resources/grub/config/grub.cfg b/resources/grub/config/grub.cfg
index 7a86ded8..d56732ed 100644
--- a/resources/grub/config/grub.cfg
+++ b/resources/grub/config/grub.cfg
@@ -113,17 +113,22 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
# Encrypted disks and partitions
#TODO: This needs to be adjusted on each device to exclude ODD
#TODO: Usually ATA is for odd if both exist!
-#TODO: Shouldn't it stop at first successful cryptomount?
#TODO: Unset variables before use!
#TODO: Pick better variable name scheme than ${ddev}, or find way to make it local
unset ahcidev
unset atadev
unset usbdev
if [ (ahci?) != "(ahci?)" ]; then
- ahcidev=(ahci*)
+ ahcilist=(ahci*)
+ for part in ${ahcilist}; do
+ ahcidev="$part $ahcidev"
+ done
fi
if [ (ata?) != "(ata?)" ]; then
- atadev=(ata*)
+ atalist=(ata*)
+ for part in ${atalist}; do
+ atadev="$part $atadev"
+ done
fi
if [ (usb?) != "(usb?)" ]; then
usbdev=(usb*)
@@ -132,7 +137,7 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
echo -n "Attempting to cryptomount: "
for dev in ${usbdev} ${ahcidev} ${atadev} ${lvmvol}; do # what about raid?
echo -n "${dev} "
- cryptomount "${dev}"
+ if cryptomount "${dev}" ; then break ; fi
done
set pager=1
echo # Insert newline
@@ -179,6 +184,7 @@ menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o
true # Prevent pager requiring to accept each line instead of whole screen
}
+
menuentry 'Search ISOLINUX menu (AHCI) [a]' --hotkey='a' {
search_isolinux ahci
}