sys-boot/grub: update gfxpayload patch for 2.14

Bug: https://bugs.gentoo.org/528826
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
This commit is contained in:
Mike Gilbert
2026-04-07 13:58:34 -04:00
parent 86411f0d1c
commit a822ebdd34
2 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
https://bugs.gentoo.org/528826
http://lists.gnu.org/archive/html/grub-devel/2014-10/msg00031.html
https://gitlab.freedesktop.org/gnu-grub/grub/-/merge_requests/98
From bcc760dc5de65fe2ae6ed37f68c01fc6a9793484 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Thu, 16 Oct 2014 23:43:51 -0400
Subject: [PATCH] 10_linux: default gfxpayload=keep only when booting using EFI
A given kernel may be compiled with CONFIG_FB_EFI, but may be booted in
legacy PC-BIOS mode. It is not safe to set gfxmode=keep under these
conditions, and this may result in a black screen once the kernel
starts.
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Leo Sandoval <lsandova@redhat.com>
---
util/grub.d/10_linux.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index 1233b112b..737e1c30c 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -118,7 +118,9 @@ linux_entry ()
echo " load_video" | sed "s/^/$submenu_indentation/"
if grep -qx "CONFIG_FB_EFI=y" "${config}" 2> /dev/null \
&& grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" "${config}" 2> /dev/null; then
- echo " set gfxpayload=keep" | sed "s/^/$submenu_indentation/"
+ echo ' if [ "x$grub_platform" = xefi ]; then' | sed "s/^/$submenu_indentation/"
+ echo " set gfxpayload=keep" | sed "s/^/$submenu_indentation/"
+ echo ' fi' | sed "s/^/$submenu_indentation/"
fi
else
if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
--
GitLab

View File

@@ -182,6 +182,7 @@ src_prepare() {
local PATCHES=(
"${WORKDIR}/${P}-patches"
"${FILESDIR}/${P}-efi_uga.patch"
"${FILESDIR}/${P}-gfxpayload.patch"
)
default