forked from pool/grub2
Accepting request 906622 from home:michael-chang:branches:Base:System
- Fix error not a btrfs filesystem on s390x (bsc#1187645) * 80_suse_btrfs_snapshot - Fix error gfxterm isn't found with multiple terminals (bsc#1187565) * grub2-fix-error-terminal-gfxterm-isn-t-found.patch - Fix boot failure after kdump due to the content of grub.cfg is not completed with pending modificaton in xfs journal (bsc#1186975) * grub-install-force-journal-draining-to-ensure-data-i.patch - Patch refreshed * grub2-mkconfig-default-entry-correction.patch OBS-URL: https://build.opensuse.org/request/show/906622 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=387
This commit is contained in:
parent
a3bdb368a2
commit
8c8da55daa
@ -4,16 +4,22 @@ SNAPSHOTS="/.snapshots"
|
||||
if [ "x${SUSE_BTRFS_SNAPSHOT_BOOTING}" = "xtrue" ] &&
|
||||
[ "x${GRUB_FS}" = "xbtrfs" ] &&
|
||||
[ -d "${SNAPSHOTS}" ]; then
|
||||
SNAPSHOT_RID=`btrfs inspect-internal rootid ${SNAPSHOTS}`
|
||||
ROOT_RID=`btrfs inspect-internal rootid /`
|
||||
if [ -n "${SNAPSHOT_RID}" -a "${SNAPSHOT_RID}" != "${ROOT_RID}" ]; then
|
||||
SNAPSHOT_SUBVOL=`btrfs inspect-internal subvolid-resolve ${SNAPSHOT_RID} /`
|
||||
ROOT_SUBVOL=`btrfs inspect-internal subvolid-resolve ${ROOT_RID} /`
|
||||
INODE=`stat -c '%i' ${SNAPSHOTS}`
|
||||
if [ "x${INODE}" = "x256" -a "x${ROOT_SUBVOL}${SNAPSHOTS}" != "x${SNAPSHOT_SUBVOL}" ]; then
|
||||
echo "btrfs-mount-subvol (\$root) ${SNAPSHOTS} ${SNAPSHOT_SUBVOL}"
|
||||
machine=`uname -m`
|
||||
case "x$machine" in
|
||||
xs390 | xs390x) : ;;
|
||||
*)
|
||||
SNAPSHOT_RID=`btrfs inspect-internal rootid ${SNAPSHOTS}`
|
||||
ROOT_RID=`btrfs inspect-internal rootid /`
|
||||
if [ -n "${SNAPSHOT_RID}" -a "${SNAPSHOT_RID}" != "${ROOT_RID}" ]; then
|
||||
SNAPSHOT_SUBVOL=`btrfs inspect-internal subvolid-resolve ${SNAPSHOT_RID} /`
|
||||
ROOT_SUBVOL=`btrfs inspect-internal subvolid-resolve ${ROOT_RID} /`
|
||||
INODE=`stat -c '%i' ${SNAPSHOTS}`
|
||||
if [ "x${INODE}" = "x256" -a "x${ROOT_SUBVOL}${SNAPSHOTS}" != "x${SNAPSHOT_SUBVOL}" ]; then
|
||||
echo "btrfs-mount-subvol (\$root) ${SNAPSHOTS} ${SNAPSHOT_SUBVOL}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
cat <<EOF
|
||||
if [ -f "${SNAPSHOTS}/grub-snapshot.cfg" ]; then
|
||||
source "${SNAPSHOTS}/grub-snapshot.cfg"
|
||||
|
@ -29,6 +29,10 @@ desired as reportedly having negative side effect. With this patch
|
||||
applied, the boot falilure can no longer be reproduced with above
|
||||
procedure.
|
||||
|
||||
v2:
|
||||
Fix boot failure after kdump due to the content of grub.cfg is not
|
||||
completed with pending modificaton in xfs journal (bsc#1186975)
|
||||
|
||||
Signed-off-by: Michael Chang <mchang@suse.com>
|
||||
---
|
||||
Makefile.util.def | 1 +
|
||||
@ -196,3 +200,31 @@ Index: grub-2.06/util/grub-install.c
|
||||
/*
|
||||
* Either there are no platform specific code, or it didn't raise
|
||||
* ponr. Raise it here, because usually this is already past point
|
||||
Index: grub-2.06/util/grub-mkconfig.in
|
||||
===================================================================
|
||||
--- grub-2.06.orig/util/grub-mkconfig.in
|
||||
+++ grub-2.06/util/grub-mkconfig.in
|
||||
@@ -328,6 +328,15 @@ for i in "${grub_mkconfig_dir}"/* ; do
|
||||
esac
|
||||
done
|
||||
|
||||
+sync_fs_journal () {
|
||||
+ if test "x$GRUB_DEVICE" = "x$GRUB_DEVICE_BOOT" &&
|
||||
+ test "x$GRUB_FS" = "xxfs" -o "x$GRUB_FS" = "xext2" &&
|
||||
+ test "x${grub_cfg}" != "x" -a "x`make_system_path_relative_to_its_root $grub_cfg`" = "x/boot/grub2/grub.cfg" &&
|
||||
+ test -x /usr/sbin/fsfreeze; then
|
||||
+ /usr/sbin/fsfreeze --freeze / && /usr/sbin/fsfreeze --unfreeze /
|
||||
+ fi
|
||||
+} >&2
|
||||
+
|
||||
if test "x${grub_cfg}" != "x" ; then
|
||||
if ! ${grub_script_check} ${grub_cfg}.new; then
|
||||
# TRANSLATORS: %s is replaced by filename
|
||||
@@ -341,6 +350,7 @@ and /etc/grub.d/* files or please file a
|
||||
# none of the children aborted with error, install the new grub.cfg
|
||||
cat ${grub_cfg}.new > ${grub_cfg}
|
||||
rm -f ${grub_cfg}.new
|
||||
+ sync_fs_journal || true
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -10,24 +10,25 @@ If set GRUB_TERMINAL="gfxterm", the error message "terminal
|
||||
'gfxterm' isn't found" will be logged to screen. This is caused
|
||||
by GRUB_TERMINAL_INPUT erroneously set to gfxterm. This patch
|
||||
fixes the issue by not setting it.
|
||||
|
||||
v2:
|
||||
Fix error gfxterm isn't found with multiple terminals (bsc#1187565)
|
||||
|
||||
---
|
||||
util/grub-mkconfig.in | 6 +++++-
|
||||
1 files changed, 5 insertions(+), 1 deletions(-)
|
||||
|
||||
Index: grub-2.02~beta2/util/grub-mkconfig.in
|
||||
Index: grub-2.06/util/grub-mkconfig.in
|
||||
===================================================================
|
||||
--- grub-2.02~beta2.orig/util/grub-mkconfig.in
|
||||
+++ grub-2.02~beta2/util/grub-mkconfig.in
|
||||
@@ -150,7 +150,11 @@ fi
|
||||
--- grub-2.06.orig/util/grub-mkconfig.in
|
||||
+++ grub-2.06/util/grub-mkconfig.in
|
||||
@@ -172,7 +172,8 @@ fi
|
||||
|
||||
# XXX: should this be deprecated at some point?
|
||||
if [ "x${GRUB_TERMINAL}" != "x" ] ; then
|
||||
- GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}"
|
||||
+# bnc#771393 - fix error: terminal 'gfxterm' isn't found.
|
||||
+# by not specifying 'gfxterm' to GRUB_TERMINAL_INPUT
|
||||
+ if [ "x${GRUB_TERMINAL}" != "xgfxterm" ]; then
|
||||
+ GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}"
|
||||
+ fi
|
||||
+# bnc#771393, bsc#1187565 - fix error: terminal 'gfxterm' isn't found.
|
||||
+ GRUB_TERMINAL_INPUT="`echo ${GRUB_TERMINAL} | sed -e '/\bgfxterm\b/{s/\bconsole\b//g;s/\bgfxterm\b/console/}'`"
|
||||
GRUB_TERMINAL_OUTPUT="${GRUB_TERMINAL}"
|
||||
fi
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: grub-2.06~rc1/util/grub-mkconfig.in
|
||||
Index: grub-2.06/util/grub-mkconfig.in
|
||||
===================================================================
|
||||
--- grub-2.06~rc1.orig/util/grub-mkconfig.in
|
||||
+++ grub-2.06~rc1/util/grub-mkconfig.in
|
||||
@@ -347,6 +347,11 @@ and /etc/grub.d/* files or please file a
|
||||
--- grub-2.06.orig/util/grub-mkconfig.in
|
||||
+++ grub-2.06/util/grub-mkconfig.in
|
||||
@@ -356,6 +356,11 @@ and /etc/grub.d/* files or please file a
|
||||
# none of the children aborted with error, install the new grub.cfg
|
||||
cat ${grub_cfg}.new > ${grub_cfg}
|
||||
rm -f ${grub_cfg}.new
|
||||
@ -11,6 +11,6 @@ Index: grub-2.06~rc1/util/grub-mkconfig.in
|
||||
+ if test -x /usr/sbin/grub2-check-default; then
|
||||
+ /usr/sbin/grub2-check-default >&2
|
||||
+ fi
|
||||
sync_fs_journal || true
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -1,3 +1,24 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 28 10:14:26 UTC 2021 - Michael Chang <mchang@suse.com>
|
||||
|
||||
- Fix error not a btrfs filesystem on s390x (bsc#1187645)
|
||||
* 80_suse_btrfs_snapshot
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 23 07:41:57 UTC 2021 - Michael Chang <mchang@suse.com>
|
||||
|
||||
- Fix error gfxterm isn't found with multiple terminals (bsc#1187565)
|
||||
* grub2-fix-error-terminal-gfxterm-isn-t-found.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 21 10:45:40 UTC 2021 - Michael Chang <mchang@suse.com>
|
||||
|
||||
- Fix boot failure after kdump due to the content of grub.cfg is not
|
||||
completed with pending modificaton in xfs journal (bsc#1186975)
|
||||
* grub-install-force-journal-draining-to-ensure-data-i.patch
|
||||
- Patch refreshed
|
||||
* grub2-mkconfig-default-entry-correction.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 3 11:17:49 UTC 2021 - Michael Chang <mchang@suse.com>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user