From 5980cac9e0320a3eb65e7fb73487a565d21361da Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Wed, 12 Jun 2013 11:51:49 -0400 Subject: [PATCH 112/152] Add support for UEFI operating systems returned by os-prober os-prober returns UEFI operating systems in the form: path:long-name:name where path is the path under the EFI directory on the ESP. This is in contrast to legacy OSes, where path is the device string. Handle this case. --- util/grub.d/30_os-prober.in | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in index 6f38c82..9f955ab 100644 --- a/util/grub.d/30_os-prober.in +++ b/util/grub.d/30_os-prober.in @@ -322,9 +322,23 @@ EOF EOF ;; *) - echo -n " " - # TRANSLATORS: %s is replaced by OS name. - gettext_printf "%s is not yet supported by grub-mkconfig.\n" "${LONGNAME}" >&2 - ;; + case ${DEVICE} in + *.efi) + cat << EOF +menuentry '$(echo "${LONGNAME}" | grub_quote)' { +EOF + save_default_entry | grub_add_tab + cat << EOF + chainloader /EFI/${DEVICE} + boot +} +EOF + ;; + *) + echo -n " " + # TRANSLATORS: %s is replaced by OS name. + gettext_printf "%s is not yet supported by grub-mkconfig.\n" "${LONGNAME}" >&2 + ;; + esac esac done -- 1.9.3