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 zcmb<-^>JfjWMqH=MuzPS2p&w7fnf(bg6#liIxuiEa4|42Gz1-Bj=#phz%YT4!QrO@ zLqiY)1A_=y2?GPe-|BrUL2@h%4M9u{4VV5hGfZS=aQF!l`^?So6Ql>kW`KxIVPs&K z08?ws;P5kni2D#acOdLYH@K|X--b19z#h{DXMg79;yN# zPiI%ZU{_oB0G~2rZHRi9;W%h!tTDvEz|6pmRR=Qz8-_R}jv*wnBnz0s$RGix5d=gf zBZC4$2+RT{3nm7HcmY_HfdOXD1SlUy!Nh041fVobd;ydXqhR7IU;b8{2(QsN7WGV>u)rFrO*5b@NaqWmJ5>o}kcVMYdUYK5gI9;mn+ znmDY$kYZ#&NqaDTpdyM1sux75fCvT#2AKJI{l0 zQ22ww4;F7Q17Z0AoM~Z#3=9mgaE1v-UC+ z3A+6gpbF8;YMB2)W`QuMT!1PCap4%IAH8NkR}11Jr*oJAGe8my3=9!aNlpexc?7c` q7XBb{bhm@d_y8451aXis)L6KPAOk##;bI_01hndk1aXisx_$tcO3feu 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 zcmb<-^>JflWMqH=Mh0dE1doA%hZ!Pc0;V(=xEZ(@LOY)t9*8|0+WGXjD-THgxGM)p zPwdM-|Ns9F?R?t&MkI?NgN=cKA&Vgcq##3qfq~%#NOmy`0|P_z5sQat^H3EqFfjOdI=lJ>yV|-3_>>uIGeGo!tigj(Lx_QanE@I| zP(92HY~V1IV_;zLU|?WiVqj$8XJBARV_;xVg7TqC!4xwC$d6zqm|$jL1=BEsnSq@_ z7RF&YDEcyUQvEZVo4%MiJ_h$gC2;(pqHDUQks(*pOcxK znpd34pqEr!3>M5w%uPiKLHta4kb4*y7(fXeq!N@jIzS942IU11Q<{N+fs=uO!2!f! zU|=v|Vqj=sU|`^Y>IcO-hz-gJAU#Gb=Y2Erh9$SD+NFNkIWDS%=L zMh1oh&@cdn1IRp3+6A#;c7l}NU}Rv31~H%*WDbZa$NJfjWMqH=Mg}_u1P><4z|g^hU^{@B4h-B3TnvT>4twka^BEWz_Jed99`M)& z6Zroq*wyfW$8H$kV<(JdcnP7+V?Rvv|7DQ!#V{^m<yV|-3_>>uIGeGn~<#18VSVNeBfti6Bs}^PkHVko4NHZ}oGAKZ0vY|9T0|Ns{ zyc^2bh0-93nE@#hK>|?B%)km|p;F8Y?5F|^3=Fai3=9Goq6`ccIK%^Rh%=-Yl_tgK z=BLDG=4F;3cxjn=nGjx4YI6`d8m3+q%7?`#NF0PgdO%X8AOgufP%c9gl!2@kB-95Ypz67xY!EdA zL_ozsX2aaG98Da`Wnj=NuFNe-Ok&V0E-8Z088B8+YEGhFNoqw2gI-a7N@7VONR6SM zA%h->!=RU&pHiBW8lRJyoSIjh%Al82TnrY>OUzA$n@=GF6wV;OqvsSzS;fErF9D$T zfYd^nU`m>S0h~Kv>cN5x3=B6wk;uTn5CGKx3MUW~M1#~wfCvT#22lC|i5o%rFzN@C z;RvN+6i6+I4Wmtw;sPWN!