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:
Michael Chang 2021-07-16 08:23:34 +00:00 committed by Git OBS Bridge
parent a3bdb368a2
commit 8c8da55daa
5 changed files with 83 additions and 23 deletions

View File

@ -4,16 +4,22 @@ SNAPSHOTS="/.snapshots"
if [ "x${SUSE_BTRFS_SNAPSHOT_BOOTING}" = "xtrue" ] && if [ "x${SUSE_BTRFS_SNAPSHOT_BOOTING}" = "xtrue" ] &&
[ "x${GRUB_FS}" = "xbtrfs" ] && [ "x${GRUB_FS}" = "xbtrfs" ] &&
[ -d "${SNAPSHOTS}" ]; then [ -d "${SNAPSHOTS}" ]; then
SNAPSHOT_RID=`btrfs inspect-internal rootid ${SNAPSHOTS}` machine=`uname -m`
ROOT_RID=`btrfs inspect-internal rootid /` case "x$machine" in
if [ -n "${SNAPSHOT_RID}" -a "${SNAPSHOT_RID}" != "${ROOT_RID}" ]; then xs390 | xs390x) : ;;
SNAPSHOT_SUBVOL=`btrfs inspect-internal subvolid-resolve ${SNAPSHOT_RID} /` *)
ROOT_SUBVOL=`btrfs inspect-internal subvolid-resolve ${ROOT_RID} /` SNAPSHOT_RID=`btrfs inspect-internal rootid ${SNAPSHOTS}`
INODE=`stat -c '%i' ${SNAPSHOTS}` ROOT_RID=`btrfs inspect-internal rootid /`
if [ "x${INODE}" = "x256" -a "x${ROOT_SUBVOL}${SNAPSHOTS}" != "x${SNAPSHOT_SUBVOL}" ]; then if [ -n "${SNAPSHOT_RID}" -a "${SNAPSHOT_RID}" != "${ROOT_RID}" ]; then
echo "btrfs-mount-subvol (\$root) ${SNAPSHOTS} ${SNAPSHOT_SUBVOL}" 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
fi ;;
esac
cat <<EOF cat <<EOF
if [ -f "${SNAPSHOTS}/grub-snapshot.cfg" ]; then if [ -f "${SNAPSHOTS}/grub-snapshot.cfg" ]; then
source "${SNAPSHOTS}/grub-snapshot.cfg" source "${SNAPSHOTS}/grub-snapshot.cfg"

View File

@ -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 applied, the boot falilure can no longer be reproduced with above
procedure. 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> Signed-off-by: Michael Chang <mchang@suse.com>
--- ---
Makefile.util.def | 1 + 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 * Either there are no platform specific code, or it didn't raise
* ponr. Raise it here, because usually this is already past point * 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

View File

@ -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 'gfxterm' isn't found" will be logged to screen. This is caused
by GRUB_TERMINAL_INPUT erroneously set to gfxterm. This patch by GRUB_TERMINAL_INPUT erroneously set to gfxterm. This patch
fixes the issue by not setting it. fixes the issue by not setting it.
v2:
Fix error gfxterm isn't found with multiple terminals (bsc#1187565)
--- ---
util/grub-mkconfig.in | 6 +++++- util/grub-mkconfig.in | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-) 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.06.orig/util/grub-mkconfig.in
+++ grub-2.02~beta2/util/grub-mkconfig.in +++ grub-2.06/util/grub-mkconfig.in
@@ -150,7 +150,11 @@ fi @@ -172,7 +172,8 @@ fi
# XXX: should this be deprecated at some point? # XXX: should this be deprecated at some point?
if [ "x${GRUB_TERMINAL}" != "x" ] ; then if [ "x${GRUB_TERMINAL}" != "x" ] ; then
- GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}" - GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}"
+# bnc#771393 - fix error: terminal 'gfxterm' isn't found. +# bnc#771393, bsc#1187565 - fix error: terminal 'gfxterm' isn't found.
+# by not specifying 'gfxterm' to GRUB_TERMINAL_INPUT + GRUB_TERMINAL_INPUT="`echo ${GRUB_TERMINAL} | sed -e '/\bgfxterm\b/{s/\bconsole\b//g;s/\bgfxterm\b/console/}'`"
+ if [ "x${GRUB_TERMINAL}" != "xgfxterm" ]; then
+ GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}"
+ fi
GRUB_TERMINAL_OUTPUT="${GRUB_TERMINAL}" GRUB_TERMINAL_OUTPUT="${GRUB_TERMINAL}"
fi fi

View File

@ -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.orig/util/grub-mkconfig.in
+++ grub-2.06~rc1/util/grub-mkconfig.in +++ grub-2.06/util/grub-mkconfig.in
@@ -347,6 +347,11 @@ and /etc/grub.d/* files or please file a @@ -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 # none of the children aborted with error, install the new grub.cfg
cat ${grub_cfg}.new > ${grub_cfg} cat ${grub_cfg}.new > ${grub_cfg}
rm -f ${grub_cfg}.new 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 + if test -x /usr/sbin/grub2-check-default; then
+ /usr/sbin/grub2-check-default >&2 + /usr/sbin/grub2-check-default >&2
+ fi + fi
sync_fs_journal || true
fi fi
fi fi

View File

@ -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> Thu Jun 3 11:17:49 UTC 2021 - Michael Chang <mchang@suse.com>