Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37545723
en ru br
ALT Linux repos
S:15.7-alt3

Group :: System/Kernel and hardware
RPM: shim

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: shim-15.4-upstream-0035-fallback-add-compile-option-FALLBACK_NONINTERACTIVE.patch
Download


From 0837d010a6ee140ff3cc770aadc89fbb015a7ca2 Mon Sep 17 00:00:00 2001
From: Dimitri John Ledkov <xnox@ubuntu.com>
Date: Tue, 6 Apr 2021 14:58:00 +0100
Subject: [PATCH 35/35] fallback: add compile option FALLBACK_NONINTERACTIVE
In the cloud, all boots are non-interactive with keyboard and console
access either typically not available or prohibited. Also clouds
always do firstboot via fallback. This currently results in an
unacceptable 5s boot delay whilst fallback offers interactive reset
options that cannot be actioned.
In Ubuntu, we'd like to make fallback noninteractive by default
without any boot delays, due to bootspeed impact on firstboot of the
preinstalled images.
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/shim/+bug/1922581
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
---
 Makefile   | 4 ++++
 fallback.c | 4 ++++
 2 files changed, 8 insertions(+)
diff --git a/Makefile b/Makefile
index 45db2b58..48db1af6 100644
--- a/Makefile
+++ b/Makefile
@@ -61,6 +61,10 @@ ifneq ($(origin FALLBACK_VERBOSE), undefined)
 	CFLAGS += -DFALLBACK_VERBOSE
 endif
 
+ifneq ($(origin FALLBACK_NONINTERACTIVE), undefined)
+	CFLAGS += -DFALLBACK_NONINTERACTIVE
+endif
+
 ifneq ($(origin FALLBACK_VERBOSE_WAIT), undefined)
 	CFLAGS += -DFALLBACK_VERBOSE_WAIT=$(FALLBACK_VERBOSE_WAIT)
 endif
diff --git a/fallback.c b/fallback.c
index 801955c7..302eeac1 100644
--- a/fallback.c
+++ b/fallback.c
@@ -1041,6 +1041,7 @@ get_fallback_no_reboot(void)
 	return 0;
 }
 
+#ifndef FALLBACK_NONINTERACTIVE
 static EFI_STATUS
 set_fallback_no_reboot(void)
 {
@@ -1084,6 +1085,7 @@ get_user_choice(void)
 
 	return choice;
 }
+#endif
 
 extern EFI_STATUS
 efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *systab);
@@ -1156,6 +1158,7 @@ efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
 			try_start_first_option(image);
 		}
 
+#ifndef FALLBACK_NONINTERACTIVE
 		int timeout = draw_countdown();
 		if (timeout == 0)
 			goto reset;
@@ -1171,6 +1174,7 @@ efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
 		VerbosePrint(L"tpm present, starting the first image\n");
 		try_start_first_option(image);
 reset:
+#endif
 		VerbosePrint(L"tpm present, resetting system\n");
 	}
 
-- 
2.32.0
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin