You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.1 KiB
56 lines
2.1 KiB
2 years ago
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Javier Martinez Canillas <javierm@redhat.com>
|
||
|
Date: Fri, 28 Sep 2018 10:35:38 +0200
|
||
|
Subject: [PATCH] grub-switch-to-blscfg: copy blscfg module for legacy BIOS and
|
||
|
ppc ieee1275
|
||
|
|
||
|
On platforms that load the blscfg module the latest version should be used,
|
||
|
so copy the module to the boot directory to make sure that the grub2 kernel
|
||
|
will load the latest version of the BLS parsing code.
|
||
|
|
||
|
Related: rhbz#1633646
|
||
|
|
||
|
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
|
||
|
---
|
||
|
util/grub-switch-to-blscfg.in | 13 ++++++++++++-
|
||
|
1 file changed, 12 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/util/grub-switch-to-blscfg.in b/util/grub-switch-to-blscfg.in
|
||
|
index 9cf64f8e7..1c6bd1882 100644
|
||
|
--- a/util/grub-switch-to-blscfg.in
|
||
|
+++ b/util/grub-switch-to-blscfg.in
|
||
|
@@ -53,6 +53,8 @@ blsdir=`echo "/@bootdirname@/loader/entries" | sed 's,//*,/,g'`
|
||
|
|
||
|
backupsuffix=.bak
|
||
|
|
||
|
+arch="$(uname -m)"
|
||
|
+
|
||
|
export TEXTDOMAIN=@PACKAGE@
|
||
|
export TEXTDOMAINDIR="@localedir@"
|
||
|
|
||
|
@@ -248,7 +250,6 @@ for kernelver in $(cd /lib/modules/ ; ls -1) "" ; do
|
||
|
fi
|
||
|
|
||
|
if [ "x$GRUB_LINUX_MAKE_DEBUG" = "xtrue" ]; then
|
||
|
- arch="$(uname -m)"
|
||
|
bls_debug="$(echo ${bls_target} | sed -e "s/\.${arch}/-debug.${arch}/")"
|
||
|
cp -aT "${bls_target}" "${bls_debug}"
|
||
|
title="$(grep '^title[ \t]' "${bls_debug}" | sed -e 's/^title[ \t]*//')"
|
||
|
@@ -282,6 +283,16 @@ elif ! grep -q '^GRUB_ENABLE_BLSCFG=.*' "${etcdefaultgrub}" ; then
|
||
|
fi
|
||
|
|
||
|
if [ "${GENERATE}" -eq 1 ] ; then
|
||
|
+ if [ $arch = "x86_64" ] && [ ! -d /sys/firmware/efi ]; then
|
||
|
+ if ! cp ${prefix}/lib/grub//i386-pc/blscfg.mod ${grubdir}/i386-pc/ ; then
|
||
|
+ exit 1
|
||
|
+ fi
|
||
|
+ elif [ $arch = "ppc64" -o $arch = "ppc64le" ] && [ ! -d /sys/firmware/opal ]; then
|
||
|
+ if ! cp ${prefix}/lib/grub/powerpc-ieee1275/blscfg.mod ${grubdir}/powerpc-ieee1275/ ; then
|
||
|
+ exit 1
|
||
|
+ fi
|
||
|
+ fi
|
||
|
+
|
||
|
cp -af "${GRUB_CONFIG_FILE}" "${GRUB_CONFIG_FILE}${backupsuffix}"
|
||
|
if ! grub2-mkconfig -o "${GRUB_CONFIG_FILE}" ; then
|
||
|
cp -af "${GRUB_CONFIG_FILE}${backupsuffix}" "${GRUB_CONFIG_FILE}"
|