|
|
9d85b1d |
From 53e38c3eefd1e5f41bf1f3b5bc7bae4e5b667ff1 Mon Sep 17 00:00:00 2001
|
|
|
9d85b1d |
From: Peter Jones <pjones@redhat.com>
|
|
|
9d85b1d |
Date: Mon, 27 Oct 2014 09:22:55 -0400
|
|
|
9d85b1d |
Subject: [PATCH 154/154] Try to emit linux16/initrd16 and linuxefi/initrdefi
|
|
|
9d85b1d |
in 30-os_prober.
|
|
|
9d85b1d |
|
|
|
9d85b1d |
Resolves: rhbz#1108296
|
|
|
9d85b1d |
|
|
|
9d85b1d |
Signed-off-by: Peter Jones <pjones@redhat.com>
|
|
|
9d85b1d |
---
|
|
|
9d85b1d |
util/grub.d/30_os-prober.in | 30 ++++++++++++++++++++++++++----
|
|
|
9d85b1d |
1 file changed, 26 insertions(+), 4 deletions(-)
|
|
|
9d85b1d |
|
|
|
9d85b1d |
diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
|
|
|
9d85b1d |
index 9f955ab..908a09d 100644
|
|
|
9d85b1d |
--- a/util/grub.d/30_os-prober.in
|
|
|
9d85b1d |
+++ b/util/grub.d/30_os-prober.in
|
|
|
dea2713 |
@@ -135,6 +135,29 @@ for OS in ${OSPROBED} ; do
|
|
|
9d85b1d |
LONGNAME="${LABEL}"
|
|
|
9d85b1d |
fi
|
|
|
9d85b1d |
|
|
|
9d85b1d |
+ sixteenbit=""
|
|
|
9d85b1d |
+ linuxefi="linux"
|
|
|
9d85b1d |
+ initrdefi="initrd"
|
|
|
dea2713 |
+ machine=`uname -m`
|
|
|
9d85b1d |
+ case "$machine" in
|
|
|
9d85b1d |
+ i?86|x86_64)
|
|
|
9d85b1d |
+ sixteenbit="16"
|
|
|
9d85b1d |
+ linuxefi="linuxefi"
|
|
|
9d85b1d |
+ initrdefi="initrdefi"
|
|
|
9d85b1d |
+ ;;
|
|
|
9d85b1d |
+ aarch64)
|
|
|
9d85b1d |
+ linuxefi="linux"
|
|
|
9d85b1d |
+ initrdefi="initrd"
|
|
|
9d85b1d |
+ esac
|
|
|
9d85b1d |
+ linux="linux${sixteenbit}"
|
|
|
9d85b1d |
+ initrd="initrd${sixteenbit}"
|
|
|
9d85b1d |
+ # there's no way to tell that the /other/ os is booting through UEFI,
|
|
|
9d85b1d |
+ # but if we are it's an okay bet...
|
|
|
9d85b1d |
+ if [ -d /sys/firmware/efi ]; then
|
|
|
9d85b1d |
+ linux=$linuxefi
|
|
|
9d85b1d |
+ initrd=$initrdefi
|
|
|
9d85b1d |
+ fi
|
|
|
9d85b1d |
+
|
|
|
9d85b1d |
gettext_printf "Found %s on %s\n" "${LONGNAME}" "${DEVICE}" >&2
|
|
|
9d85b1d |
|
|
|
9d85b1d |
case ${BOOT} in
|
|
|
dea2713 |
@@ -235,11 +258,11 @@ EOF
|
|
|
9d85b1d |
save_default_entry | grub_add_tab
|
|
|
9d85b1d |
printf '%s\n' "${prepare_boot_cache}"
|
|
|
9d85b1d |
cat << EOF
|
|
|
9d85b1d |
- linux ${LKERNEL} ${LPARAMS}
|
|
|
9d85b1d |
+ ${linux} ${LKERNEL} ${LPARAMS}
|
|
|
9d85b1d |
EOF
|
|
|
9d85b1d |
if [ -n "${LINITRD}" ] ; then
|
|
|
9d85b1d |
cat << EOF
|
|
|
9d85b1d |
- initrd ${LINITRD}
|
|
|
9d85b1d |
+ ${initrd} ${LINITRD}
|
|
|
9d85b1d |
EOF
|
|
|
9d85b1d |
fi
|
|
|
9d85b1d |
cat << EOF
|
|
|
dea2713 |
@@ -255,11 +278,11 @@ EOF
|
|
|
9d85b1d |
save_default_entry | sed -e "s/^/$grub_tab$grub_tab/"
|
|
|
9d85b1d |
printf '%s\n' "${prepare_boot_cache}" | grub_add_tab
|
|
|
9d85b1d |
cat << EOF
|
|
|
9d85b1d |
- linux ${LKERNEL} ${LPARAMS}
|
|
|
9d85b1d |
+ ${linux} ${LKERNEL} ${LPARAMS}
|
|
|
9d85b1d |
EOF
|
|
|
9d85b1d |
if [ -n "${LINITRD}" ] ; then
|
|
|
9d85b1d |
cat << EOF
|
|
|
9d85b1d |
- initrd ${LINITRD}
|
|
|
9d85b1d |
+ ${initrd} ${LINITRD}
|
|
|
9d85b1d |
EOF
|
|
|
9d85b1d |
fi
|
|
|
9d85b1d |
cat << EOF
|
|
|
9d85b1d |
--
|
|
|
9d85b1d |
1.9.3
|
|
|
9d85b1d |
|