From 12c25b73bf0ff811f1730521d82636affac325a7644b3c8ca4cacd457894bbab Mon Sep 17 00:00:00 2001 From: Andrei Borzenkov Date: Wed, 3 Oct 2018 09:09:37 +0000 Subject: [PATCH 1/2] Accepting request 639716 from home:michael-chang:branches:Base:System - 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 OBS-URL: https://build.opensuse.org/request/show/639716 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=316 --- grub2-util-30_os-prober-multiple-initrd.patch | 22 +++++++++++++++++++ grub2.changes | 7 ++++++ grub2.spec | 2 ++ 3 files changed, 31 insertions(+) create mode 100644 grub2-util-30_os-prober-multiple-initrd.patch diff --git a/grub2-util-30_os-prober-multiple-initrd.patch b/grub2-util-30_os-prober-multiple-initrd.patch new file mode 100644 index 0000000..9fbb142 --- /dev/null +++ b/grub2-util-30_os-prober-multiple-initrd.patch @@ -0,0 +1,22 @@ +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}")" diff --git a/grub2.changes b/grub2.changes index 3b1a293..256c330 100644 --- a/grub2.changes +++ b/grub2.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Oct 3 07:08:14 UTC 2018 - mchang@suse.com + +- 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 + ------------------------------------------------------------------- Wed Sep 26 08:01:05 UTC 2018 - mchang@suse.com diff --git a/grub2.spec b/grub2.spec index e850828..cf199d3 100644 --- a/grub2.spec +++ b/grub2.spec @@ -221,6 +221,7 @@ Patch88: unix-exec-avoid-atexit-handlers-when-child-exits.patch 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 # 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 +520,7 @@ swap partition while in resuming %patch89 -p1 %patch90 -p1 %patch91 -p1 +%patch92 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 From 209e8b508d2c6a7e49798c49617219f7b45922f72035c1d14e074f71abeebc29 Mon Sep 17 00:00:00 2001 From: Michael Chang Date: Thu, 4 Oct 2018 07:19:50 +0000 Subject: [PATCH 2/2] Accepting request 639870 from home:gary_lin:branches:Base:System Support NVDIMM device names (bsc#1110073) OBS-URL: https://build.opensuse.org/request/show/639870 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=317 --- grub2-getroot-support-nvdimm.patch | 71 ++++++++++++++++++++++++++++++ grub2.changes | 6 +++ grub2.spec | 2 + 3 files changed, 79 insertions(+) create mode 100644 grub2-getroot-support-nvdimm.patch diff --git a/grub2-getroot-support-nvdimm.patch b/grub2-getroot-support-nvdimm.patch new file mode 100644 index 0000000..cf539d7 --- /dev/null +++ b/grub2-getroot-support-nvdimm.patch @@ -0,0 +1,71 @@ +From 889c0894d358e48c02f8225426893094f20004e5 Mon Sep 17 00:00:00 2001 +From: Gary Lin +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 + diff --git a/grub2.changes b/grub2.changes index 256c330..3f826ca 100644 --- a/grub2.changes +++ b/grub2.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 4 06:52:58 UTC 2018 - glin@suse.com + +- Support NVDIMM device names (bsc#1110073) + * grub2-getroot-support-nvdimm.patch + ------------------------------------------------------------------- Wed Oct 3 07:08:14 UTC 2018 - mchang@suse.com diff --git a/grub2.spec b/grub2.spec index cf199d3..1c53002 100644 --- a/grub2.spec +++ b/grub2.spec @@ -222,6 +222,7 @@ 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 @@ -521,6 +522,7 @@ swap partition while in resuming %patch90 -p1 %patch91 -p1 %patch92 -p1 +%patch93 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1