From fdcd2c6597c04b0c2b24e1966b6d6380f5fa32bb Mon Sep 17 00:00:00 2001 From: Peter Levine Date: Thu, 7 Oct 2021 22:15:06 -0400 Subject: 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 Closes: https://github.com/gentoo/gentoo/pull/22513 Signed-off-by: Ben Kohler --- ...-prober-1.79-handle-multiple-initrd-paths.patch | 35 ++++++++++++++++++++++ sys-boot/os-prober/os-prober-1.79.ebuild | 1 + 2 files changed, 36 insertions(+) create mode 100644 sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch 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 -- cgit v1.2.3-65-gdbad