fi
done
+is_path_readable_by_grub "${grubdir}" || (echo "${grubdir}" not readable 1>&2 ; exit 1)
+
# Write device to a variable so we don't have to traverse /dev every time.
grub_device="`"$grub_probe" --device-map="${device_map}" --target=device "${grubdir}"`" || exit 1
exit 1
fi
+ if [ x$GRUB_LUKS_ENABLE = xy ]; then
+ for uuid in "`"${grub_probe}" --device "${device}" --target=luks_uuid`"; do
+ echo "luksmount -u $uuid"
+ done
+ fi
+
echo "search.fs_uuid ${uuid} root " >> "${grubdir}/load.cfg"
echo 'set prefix=($root)'"${relative_grubdir}" >> "${grubdir}/load.cfg"
config_opt="-c ${grubdir}/load.cfg "
# ... or if we can't figure out the abstraction module, for example if
# memberlist fails on an LVM volume group.
- if ${grub_probe} -t abstraction $path > /dev/null 2>&1 ; then : ; else
+ if abstractions="`"${grub_probe}" -t abstraction "$path"`" 2>&1 ; then
+ :
+ else
return 1
fi
+ if [ x$GRUB_LUKS_ENABLE = xy ]; then
+ return 0
+ fi
+
+ for abstraction in $abstractions; do
+ if [ "x$abstraction" = xluks ]; then
+ return 1
+ fi
+ done
+
return 0
}
echo "insmod ${module}"
done
+ if [ x$GRUB_LUKS_ENABLE = xy ]; then
+ for uuid in "`"${grub_probe}" --device "${device}" --target=luks_uuid`"; do
+ echo "luksmount -u $uuid"
+ done
+ fi
+
# If there's a filesystem UUID that GRUB is capable of identifying, use it;
# otherwise set root as per value in device.map.
echo "set root='`"${grub_probe}" --device "${device}" --target=drive`'"