nalika / rpms / grub2

Forked from rpms/grub2 2 years ago
Clone
Blob Blame History Raw
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 28 Jan 2022 11:30:33 +0100
Subject: [PATCH] EFI: suppress the "Welcome to GRUB!" message in EFI builds

Grub EFI builds are now often used in combination with flicker-free
boot, but this breaks with upstream grub because the "Welcome to GRUB!"
message will kick the EFI fb into text mode and show the msg,
breaking the flicker-free experience.

EFI systems are so fast, that when the menu or the countdown are enabled
the message will be immediately overwritten, so in these cases not
printing the message does not matter.

And in case when the timeout_style is set to TIMEOUT_STYLE_HIDDEN,
the user has asked grub to be quiet (for example to allow flickfree
boot) annd thus the message should not be printed.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 grub-core/kern/main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c
index 3fc3401472..993b8a8598 100644
--- a/grub-core/kern/main.c
+++ b/grub-core/kern/main.c
@@ -317,10 +317,13 @@ grub_main (void)
 
   grub_boot_time ("After machine init.");
 
+  /* This breaks flicker-free boot on EFI systems, so disable it there. */
+#ifndef GRUB_MACHINE_EFI
   /* Hello.  */
   grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT);
   grub_printf ("Welcome to GRUB!\n\n");
   grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);
+#endif
 
   /* Init verifiers API. */
   grub_verifiers_init ();