All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] Add --noefistub option for linux
@ 2024-06-17 11:52 Vladimir Serbinenko
  2024-06-19  9:51 ` Julian Andres Klode
  0 siblings, 1 reply; 2+ messages in thread
From: Vladimir Serbinenko @ 2024-06-17 11:52 UTC (permalink / raw)
  To: grub-devel; +Cc: Vladimir Serbinenko

In some cases like loading kernel from native disk (e.g. nvme) not
supported by EFI in question efi stub is not an option. Allow
user to disable efi stub and fallback to older protocol

Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
---
 grub-core/loader/efi/linux.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c
index bfbd95aee..e70017a78 100644
--- a/grub-core/loader/efi/linux.c
+++ b/grub-core/loader/efi/linux.c
@@ -459,10 +459,18 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
   grub_file_t file = 0;
   struct linux_arch_kernel_header lh;
   grub_err_t err;
+  bool force_legacy = false;
 
   grub_dl_ref (my_mod);
 
-  if (grub_is_shim_lock_enabled () == true)
+  if (argc > 0 && grub_strcmp(argv[0], "--noefistub") == 0)
+    {
+      force_legacy = true;
+      argv++;
+      argc--;
+    }
+
+  if (grub_is_shim_lock_enabled () == true || force_legacy)
     {
 #if defined(__i386__) || defined(__x86_64__)
       grub_dprintf ("linux", "shim_lock enabled, falling back to legacy Linux kernel loader\n");
-- 
2.39.2


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v3] Add --noefistub option for linux
  2024-06-17 11:52 [PATCH v3] Add --noefistub option for linux Vladimir Serbinenko
@ 2024-06-19  9:51 ` Julian Andres Klode
  0 siblings, 0 replies; 2+ messages in thread
From: Julian Andres Klode @ 2024-06-19  9:51 UTC (permalink / raw)
  To: The development of GNU GRUB; +Cc: Vladimir Serbinenko

On Mon, Jun 17, 2024 at 02:52:07PM GMT, Vladimir Serbinenko wrote:
> In some cases like loading kernel from native disk (e.g. nvme) not
> supported by EFI in question efi stub is not an option. Allow
> user to disable efi stub and fallback to older protocol

I'm not sure I follow. The disk does not need to be supported by
EFI for the EFI stub to work, we are loading the kernel into memory
and then running it from a memory device path.

Hence you can run EFI stub fine from anywhere, whether it's an
nvme disk or a squashfs image.

There is a specific problem with looking up the device path which
I said before, it always uses (root) instead of the actual device
you loaded the kernel from which is silly.
-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-06-19  9:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-17 11:52 [PATCH v3] Add --noefistub option for linux Vladimir Serbinenko
2024-06-19  9:51 ` Julian Andres Klode

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.