Am Mo., 26. Juni 2023 um 14:28 Uhr schrieb Daniel Kiper <dki...@net-space.pl
>:

> Hey,
>
> Thomas, good point. I completely missed that.
>
> Tobias, please try Ard patch with the change suggested by Thomas. If you
> have not done that yet...
>
> Daniel
>
> Hi Daniel, Thomas and Ard,
yes both together work :)
Sorry haven't tested it earlier with both enabled.

Attached is my used patch.

greetings
tpowa

-- 
Tobias Powalowski
Arch Linux Developer & Package Maintainer (tpowa)
https://www.archlinux.org <http://www.archlinux.org>
tp...@archlinux.org
Archboot Developer
https://archboot.com

St. Martin-Apotheke
Herzog-Georg-Str. 25
89415 Lauingen
https://www.st-martin-apo.de
i...@st-martin-apo.de
--- a/include/grub/efi/api.h	2023-06-26 09:22:48.229322948 +0200
+++ b/include/grub/efi/api.h	2023-06-26 09:22:55.046025291 +0200
@@ -1777,7 +1777,7 @@
 
 struct grub_efi_shim_lock_protocol
 {
-  grub_efi_status_t (__grub_efi_api *verify) (void *buffer, grub_uint32_t size);
+  grub_efi_status_t (*verify) (void *buffer, grub_uint32_t size);
 };
 typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t;
 
diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c
index c1eef7c9865f5d0d..49b16933809dbf44 100644
--- a/grub-core/loader/efi/linux.c
+++ b/grub-core/loader/efi/linux.c
@@ -18,6 +18,7 @@

 #include <grub/charset.h>
 #include <grub/command.h>
+#include <grub/env.h>
 #include <grub/err.h>
 #include <grub/file.h>
 #include <grub/fdt.h>
@@ -458,6 +459,11 @@ grub_cmd_linux (grub_command_t cmd __attribute__((unused)),

   grub_dl_ref (my_mod);

+#if defined(__i386__)  || defined(__x86_64__)
+  if (grub_env_get ("shim_lock") != NULL)
+    return grub_cmd_linux_x86_legacy (cmd, argc, argv);
+#endif
+
   if (argc == 0)
     {
       grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));

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

Reply via email to