From b0208c8ce3fa4aa75b680d70cb925e83daae1a93 Mon Sep 17 00:00:00 2001 From: longpanda Date: Thu, 4 Feb 2021 13:36:26 +0800 Subject: [PATCH] Only use acpi when secureboot if enabled in UEFI mode. --- .../grub-2.04/grub-core/ventoy/ventoy.c | 32 ++++++++++++++++++ INSTALL/grub/arm64-efi/true.mod | Bin 2680 -> 0 bytes INSTALL/grub/grub.cfg | 4 ++- INSTALL/grub/i386-efi/true.mod | Bin 1220 -> 0 bytes INSTALL/grub/x86_64-efi/true.mod | Bin 1864 -> 0 bytes 5 files changed, 35 insertions(+), 1 deletion(-) delete mode 100644 INSTALL/grub/arm64-efi/true.mod delete mode 100644 INSTALL/grub/i386-efi/true.mod delete mode 100644 INSTALL/grub/x86_64-efi/true.mod diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c index ee5922a1..74671d2f 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c @@ -36,6 +36,7 @@ #include #include #ifdef GRUB_MACHINE_EFI +#include #include #endif #include @@ -3370,6 +3371,36 @@ static grub_err_t ventoy_cmd_img_unhook_root(grub_extcmd_context_t ctxt, int arg return 0; } +#ifdef GRUB_MACHINE_EFI +static grub_err_t ventoy_cmd_check_secureboot_var(grub_extcmd_context_t ctxt, int argc, char **args) +{ + int ret = 1; + grub_uint8_t *var; + grub_size_t size; + grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID; + + (void)ctxt; + (void)argc; + (void)args; + + var = grub_efi_get_variable("SecureBoot", &global, &size); + if (var && *var == 1) + { + return 0; + } + + return ret; +} +#else +static grub_err_t ventoy_cmd_check_secureboot_var(grub_extcmd_context_t ctxt, int argc, char **args) +{ + (void)ctxt; + (void)argc; + (void)args; + return 1; +} +#endif + static grub_err_t ventoy_cmd_acpi_param(grub_extcmd_context_t ctxt, int argc, char **args) { int i; @@ -4249,6 +4280,7 @@ static cmd_para ventoy_cmds[] = { "vt_img_hook_root", ventoy_cmd_img_hook_root, 0, NULL, "", "", NULL }, { "vt_img_unhook_root", ventoy_cmd_img_unhook_root, 0, NULL, "", "", NULL }, { "vt_acpi_param", ventoy_cmd_acpi_param, 0, NULL, "", "", NULL }, + { "vt_check_secureboot_var", ventoy_cmd_check_secureboot_var, 0, NULL, "", "", NULL }, }; diff --git a/INSTALL/grub/arm64-efi/true.mod b/INSTALL/grub/arm64-efi/true.mod deleted file mode 100644 index 1556121e0dca7d2ccab05f0bbadad6864181a866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2680 zcmbuB&r1|x7{{O8F|!OZw338c$hss0W{Rajf zJbJX7w>-ttsY9or=-8hicySLx&olEp>+IvsA$rw)p6By^pZ9&$Zpl#HJ;!@TW=4ovzb&yN=C-ojWZjH^{A4CiClT`?gF;?C~a>lBoqKAd{~ za_ZjW>GIo&8>wCf&#^|=69O>sr&}|i_ZUvk`1ncpB+3E|s|?YX6sK!Z#Cn7;aled% z2iwtvZ+1`s;afR;JBRP&@ZB8VR9x2eP4V*>)4GI@alh1gp!6v}zRx5xcy%fT`3a4Z z*nrHJjTKkX4s=o9&*86fIE*gCXbl#Ec&^g$Yn8fJkB*{w4AUrZ7V2T-1eL1aXxLt@ zvJ}+)v@7;>XUd%*@B=BakDWo>VA^B3PiL54R$Lw!mynB=q~g;fs>r!yM%kC~<(}PQ zF5?Toqx72`TS_l{Qt7uiexmfk%gjfx&I|05nPy+=+~)WVTd7lcP3d@ITCHy%*Uhv&TN&&n%ZbT|b!NN+Yu8&_+RO7sU%4*ES<( zIRZ2AYj$LlX51VHlL9dDdl|b<#jRHz4__|kTo@+Mvl~vPr2leDm`&#+=O%+$;!tO% z$vz7jL5H4smH@Uh1gY_1QXUN@`NPzQ?K=Juzez!+Sv>E93?r9u+umlDy)&fyAVLZ< zP2;=RM=US@Y$lgno&O9Otx4zOKS4y|&muddgbTyk~(UzbYFAOHXW diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 71c7a189..c497c669 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -1224,7 +1224,9 @@ function vtoyboot_common_func { linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} bios80 sector512 mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size} boot else - vt_acpi_param ${vtoy_chain_mem_addr} 512 + if vt_check_secureboot_var; then + vt_acpi_param ${vtoy_chain_mem_addr} 512 + fi ventoy_cli_console chainloader ${vtoy_path}/ventoy_${VTOY_EFI_ARCH}.efi sector512 env_param=${ventoy_env_param} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size} boot diff --git a/INSTALL/grub/i386-efi/true.mod b/INSTALL/grub/i386-efi/true.mod deleted file mode 100644 index 66c42b09af45d441460f43dc291e774a490158fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1220 zcma)5U279j5S`6xTic2ed=Nzqf+#2pu`P&DP;{+IsD&aFB!o?}Nmlkl?(T~9r9xix zclZ~4^r6r~=|Auf2nzlLC7!c;Z}agW4$Pi8Gw06DPGFErU6v02B;rc>G}X^C?8bL)LE~ z0?Y#nQCSB=y>`s@=rda5fugiCT4S+@hlkbUgPs?rzC2E9agq&!xPPaX=ADk8roB82 zcOA)8K3&e^X#u)5o;`9mx83!Pt;XAx+ftt4HUF^b2?-{qhosNgGFQy-D)>`)1?(KK z2fwa4;KXd#e%{G!Nv&G$4HC*6%QuMNypi31ZUKXfwxT_%o7x?bi{Qg`a&kcfkU zpRenSSTNCv{)YoV#Mo=>7sHx~9tj diff --git a/INSTALL/grub/x86_64-efi/true.mod b/INSTALL/grub/x86_64-efi/true.mod deleted file mode 100644 index 253c5e2ecb402f0ebd998b71e4a8765568989bbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1864 zcmbtUOKTHR6h2ARYP(Q3QV?M_il7cgDO7wA(bN%x1cIPsF-($4IyeuxGb8OvaHSMn zyLaJV@By~ae_%IVioe2LyeD%`=HxcPg(oEE`@ZwIH}}k)H_g^YwNe4L3fzN|u?q0+ zScw}G*nkyShWg&V^MgaXSXtk5zOgX=-Dzt6ow@UsQT=CG=IpXMKEU)(O#hwUEtB^< zVx2G37CYO@HQD4Ne@9@uaJ|k42G}B%Am4wg*?av%h0oE7j?FBlFRNix=WZ(vIkdZ=-7*Gg8;8<5q~Ch zobpNHuF$dnMdCb9?1Nu^GIEM@f1>bK=$wnv2ca($M)y(ZazCF9ohX2vZbzBd(>_y$ z-(;lx(6cjtD+604126M1r*7B5Mgq2;avu6_81(&EUpl*&rV}ytB7fTdKY^v|@l1F= z+^#`j`UW75xzf&Sg14g~MU4+}DB9XofOA90^IOHBHhg|izkx*9AHw&AhLGA#{TgX< zc9?gI6Ojlr<=Z-jnpxkVM0_tu$VmU#3^)3sH;Etp5w-+Lqt|