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
|
done
|
||||||
}
|
}
|
||||||
function search_isolinux {
|
function search_isolinux {
|
||||||
unset ddev
|
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||||
if [ (${1}?) != "(${1}?)" ]; then
|
# TODO : Find a better way to detect how many partitions
|
||||||
ddev=(${1}*) # Both raw and partitioned devices.
|
# : are on the disk instead of hardcoding.
|
||||||
echo -n "Attempting to parse isolinux menu from: "
|
echo "\nAttempting to parse isolinux menu from ${1}${i}"
|
||||||
fi
|
for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
|
||||||
for i in ${ddev}; do
|
# MBR/GPT partitions
|
||||||
echo -n "${i} "
|
echo "\nTrying partiton ${part}"
|
||||||
try_isolinux_config "${i}"
|
try_isolinux_config "(${1}${i},${part})"
|
||||||
|
done
|
||||||
|
# raw devices
|
||||||
|
echo "\nTrying raw usb device ..."
|
||||||
|
try_isolinux_config "(${1}${i})"
|
||||||
|
echo # Insert newline
|
||||||
done
|
done
|
||||||
echo # Insert newline
|
|
||||||
}
|
}
|
||||||
menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' {
|
menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' {
|
||||||
# GRUB2 handles (almost) every possible disk setup, but only the location of
|
# GRUB2 handles (almost) every possible disk setup, but only the location of
|
||||||
|
|
Loading…
Reference in New Issue