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" ] &&
|
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"
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user