grub.cfg: optimize search_isolinux
GRUB is slow at device enumeration. This patch works around it in the same way as vitali64's recent patch.
This commit is contained in:
parent
56698000fa
commit
0ea263129a
|
@ -77,16 +77,21 @@ function try_isolinux_config {
|
|||
done
|
||||
}
|
||||
function search_isolinux {
|
||||
unset ddev
|
||||
if [ (${1}?) != "(${1}?)" ]; then
|
||||
ddev=(${1}*) # Both raw and partitioned devices.
|
||||
echo -n "Attempting to parse isolinux menu from: "
|
||||
fi
|
||||
for i in ${ddev}; do
|
||||
echo -n "${i} "
|
||||
try_isolinux_config "${i}"
|
||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||
# TODO : Find a better way to detect how many partitions
|
||||
# : are on the disk instead of hardcoding.
|
||||
echo "\nAttempting to parse isolinux menu from ${1}${i}"
|
||||
for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
|
||||
# MBR/GPT partitions
|
||||
echo "\nTrying partiton ${part}"
|
||||
try_isolinux_config "(${1}${i},${part})"
|
||||
done
|
||||
# raw devices
|
||||
echo "\nTrying raw usb device ..."
|
||||
try_isolinux_config "(${1}${i})"
|
||||
echo # Insert newline
|
||||
done
|
||||
echo # Insert newline
|
||||
|
||||
}
|
||||
menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' {
|
||||
# GRUB2 handles (almost) every possible disk setup, but only the location of
|
||||
|
|
Loading…
Reference in New Issue