summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Levine <plevine457@gmail.com>2021-10-07 22:15:06 -0400
committerBen Kohler <bkohler@gentoo.org>2021-10-08 06:12:23 -0500
commitfdcd2c6597c04b0c2b24e1966b6d6380f5fa32bb (patch)
treeb254a451ced464b99b8127d298814e3927e2a195 /sys-boot
parentsys-boot/os-prober: bump os-prober-1.79 (diff)
downloadgentoo-fdcd2c6597c04b0c2b24e1966b6d6380f5fa32bb.tar.gz
gentoo-fdcd2c6597c04b0c2b24e1966b6d6380f5fa32bb.tar.bz2
gentoo-fdcd2c6597c04b0c2b24e1966b6d6380f5fa32bb.zip
sys-boot/os-prober: fix handling of multiple initrd paths
Backport of upstream fix for handling multiple initrd paths like those needed for Majaro installations. Still requires changes in grub from https://savannah.gnu.org/bugs/index.php?47681, if and when it gets merged upstream. Package-Manager: Portage-3.0.26, Repoman-3.0.3 Signed-off-by: Peter Levine <plevine457@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/22513 Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch35
-rw-r--r--sys-boot/os-prober/os-prober-1.79.ebuild1
2 files changed, 36 insertions, 0 deletions
diff --git a/sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch b/sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch
new file mode 100644
index 000000000000..0b477c17c362
--- /dev/null
+++ b/sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch
@@ -0,0 +1,35 @@
+Backport handling of multiple initrd paths, like those needed by Manjaro
+installations. Note, it still requires resolution of
+https://savannah.gnu.org/bugs/index.php?47681 on grub's end.
+
+Commit: https://salsa.debian.org/installer-team/os-prober/-/commit/53b920e106f13acf87ef8a275161e20f94feeb8a
+
+--- a/linux-boot-probes/mounted/common/40grub2
++++ b/linux-boot-probes/mounted/common/40grub2
+@@ -78,11 +78,21 @@
+ fi
+ ;;
+ initrd)
+- initrd="$(echo "$2" | sed 's/(.*)//')"
+- # Initrd same.
+- if [ "$partition" != "$bootpart" ]; then
+- initrd="/boot$initrd"
+- fi
++ shift
++ initrd=""
++ for initrd_path in "$@"; do
++ # sed hack, as above
++ initrd_path="$(echo "$initrd_path" | sed 's/(.*)//')"
++ # Initrd same.
++ if [ "$partition" != "$bootpart" ]; then
++ initrd_path="/boot$initrd_path"
++ fi
++ if [ -z "$initrd" ]; then
++ initrd="$initrd_path"
++ else
++ initrd="$initrd $initrd_path"
++ fi
++ done
+ ;;
+ "}")
+ entry_result
diff --git a/sys-boot/os-prober/os-prober-1.79.ebuild b/sys-boot/os-prober/os-prober-1.79.ebuild
index c854d403e4f0..811ad1fef51f 100644
--- a/sys-boot/os-prober/os-prober-1.79.ebuild
+++ b/sys-boot/os-prober/os-prober-1.79.ebuild
@@ -27,6 +27,7 @@ QA_MULTILIB_PATHS="usr/lib/os-prober/.*"
PATCHES=(
"${FILESDIR}"/${PN}-1.79-mdraid-detection.patch
+ "${FILESDIR}"/${PN}-1.79-handle-multiple-initrd-paths.patch
"${FILESDIR}"/${PN}-1.79-btrfs-subvolume-detection.patch
"${FILESDIR}"/${PN}-1.79-use-fstab-name.patch
"${FILESDIR}"/${PN}-1.79-mounted-boot-partition-fix.patch