2018-07-10 19:08:14 +00:00
|
|
|
From 8da102c764dfa6c7e83dba33d0cf3be4e8c4d658 Mon Sep 17 00:00:00 2001
|
2016-08-25 18:42:57 +00:00
|
|
|
From: Matthew Garrett <matthew.garrett@nebula.com>
|
|
|
|
Date: Wed, 12 Jun 2013 11:51:49 -0400
|
2018-07-10 19:08:14 +00:00
|
|
|
Subject: [PATCH] Add support for UEFI operating systems returned by os-prober
|
2016-08-25 18:42:57 +00:00
|
|
|
|
|
|
|
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 | 21 ++++++++++++++++++---
|
|
|
|
1 file changed, 18 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
|
2018-02-27 18:56:41 +00:00
|
|
|
index 515a68c7aa0..9b8f5968e2d 100644
|
2016-08-25 18:42:57 +00:00
|
|
|
--- a/util/grub.d/30_os-prober.in
|
|
|
|
+++ b/util/grub.d/30_os-prober.in
|
|
|
|
@@ -328,8 +328,23 @@ EOF
|
|
|
|
EOF
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
- # 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
|