Hello community, here is the log from the commit of package grub2 for openSUSE:Factory checked in at 2018-10-09 15:52:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/grub2 (Old) and /work/SRC/openSUSE:Factory/.grub2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grub2" Tue Oct 9 15:52:40 2018 rev:195 rq:639871 version:2.02 Changes: -------- --- /work/SRC/openSUSE:Factory/grub2/grub2.changes 2018-10-02 19:39:29.146382073 +0200 +++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2018-10-09 15:53:08.594355530 +0200 @@ -1,0 +2,13 @@ +Thu Oct 4 06:52:58 UTC 2018 - [email protected] + +- Support NVDIMM device names (bsc#1110073) + * grub2-getroot-support-nvdimm.patch + +------------------------------------------------------------------- +Wed Oct 3 07:08:14 UTC 2018 - [email protected] + +- Translate caret back to space as the initrd stanza could use space to + delimit multiple files loaded (bsc#1101942) + * grub2-util-30_os-prober-multiple-initrd.patch + +------------------------------------------------------------------- New: ---- grub2-getroot-support-nvdimm.patch grub2-util-30_os-prober-multiple-initrd.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub2.spec ++++++ --- /var/tmp/diff_new_pack.jMTERu/_old 2018-10-09 15:53:10.194353635 +0200 +++ /var/tmp/diff_new_pack.jMTERu/_new 2018-10-09 15:53:10.198353630 +0200 @@ -221,6 +221,8 @@ Patch89: 0001-xfs-Accept-filesystem-with-sparse-inodes.patch Patch90: grub2-binutils2.31.patch Patch91: grub2-msdos-fix-overflow.patch +Patch92: grub2-util-30_os-prober-multiple-initrd.patch +Patch93: grub2-getroot-support-nvdimm.patch # Btrfs snapshot booting related patches Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch Patch102: grub2-btrfs-02-export-subvolume-envvars.patch @@ -519,6 +521,8 @@ %patch89 -p1 %patch90 -p1 %patch91 -p1 +%patch92 -p1 +%patch93 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 ++++++ grub2-getroot-support-nvdimm.patch ++++++ >From 889c0894d358e48c02f8225426893094f20004e5 Mon Sep 17 00:00:00 2001 From: Gary Lin <[email protected]> Date: Thu, 4 Oct 2018 10:32:07 +0800 Subject: [PATCH] linux/getroot: Support NVDIMM device names There are two types of NVDIMM block devices in linux: fsdax and blk. For fsdax, the device name would be /dev/pmemXpY, /dev/pmemXsY, /dev/pmemX.YpZ, or /dev/pmemX.YsZ. For blk, the name would be /dev/ndblkX.YpZ or /dev/ndblkX.YsZ --- grub-core/osdep/linux/getroot.c | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c index 8776009..d2ab60f 100644 --- a/grub-core/osdep/linux/getroot.c +++ b/grub-core/osdep/linux/getroot.c @@ -1082,6 +1082,50 @@ grub_util_part_to_disk (const char *os_dev, struct stat *st, *pp = '\0'; return path; } + + /* If this is a NVDIMM device in fsdax mode */ + if (strncmp ("pmem", p, 4) == 0 && p[4] >= '0' && p[4] <= '9') + { + /* /dev/pmem[0-9]+(\.[0-9]+)?((p[0-9]+)?|s[0-9]*) */ + char *pp = strchr (p + 4, 'p'); + if (pp) + { + *is_part = 1; + *pp = '\0'; + } + else + { + pp = strchr (p + 4, 's'); + if (pp && pp[1] >= '0' && pp[1] <= '9') + { + *is_part = 1; + pp[1] = '\0'; + } + } + return path; + } + + /* If this is a NVDIMM device in block mode */ + if (strncmp ("ndblk", p, 5) == 0 && p[5] >= '0' && p[5] <= '9') + { + /* /dev/ndblk[0-9]+\.[0-9]+((p[0-9]+)?|s[0-9]*) */ + char *pp = strchr (p + 5, 'p'); + if (pp) + { + *is_part = 1; + *pp = '\0'; + } + else + { + pp = strchr (p + 5, 's'); + if (pp && pp[1] >= '0' && pp[1] <= '9') + { + *is_part = 1; + pp[1] = '\0'; + } + } + return path; + } } return path; -- 2.19.0 ++++++ grub2-util-30_os-prober-multiple-initrd.patch ++++++ Index: grub-2.02/util/grub.d/30_os-prober.in =================================================================== --- grub-2.02.orig/util/grub.d/30_os-prober.in +++ grub-2.02/util/grub.d/30_os-prober.in @@ -216,7 +216,7 @@ EOF LBOOT="`echo ${LINUX} | cut -d ':' -f 2`" LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`" LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`" - LINITRD="`echo ${LINUX} | cut -d ':' -f 5`" + LINITRD="`echo ${LINUX} | cut -d ':' -f 5 | tr '^' ' '`" LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`" if [ -z "${LLABEL}" ] ; then @@ -225,7 +225,7 @@ EOF if [ "${LROOT}" != "${LBOOT}" ]; then LKERNEL="${LKERNEL#/boot}" - LINITRD="${LINITRD#/boot}" + LINITRD="$(echo $LINITRD | sed -e 's!^/boot!!' -e 's!\(\s\)/boot!\1!g')" fi onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
