forked from mirrors/nixpkgs
38 lines
1.7 KiB
Diff
38 lines
1.7 KiB
Diff
diff --git a/quickemu b/quickemu
|
|
index 24e1007..39cd5e4 100755
|
|
--- a/quickemu
|
|
+++ b/quickemu
|
|
@@ -196,7 +196,7 @@ function efi_vars() {
|
|
|
|
if [ ! -e "${VARS_OUT}" ]; then
|
|
if [ -e "${VARS_IN}" ]; then
|
|
- cp "${VARS_IN}" "${VARS_OUT}"
|
|
+ cp "${VARS_IN}" "${VARS_OUT}" && chmod +w "${VARS_OUT}"
|
|
else
|
|
echo "ERROR! ${VARS_IN} was not found. Please install edk2."
|
|
exit 1
|
|
@@ -383,7 +383,10 @@ function vm_boot() {
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5
|
|
case ${secureboot} in
|
|
on)
|
|
- if [ -e "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" ]; then
|
|
+ if [[ ${ENV_EFI_CODE_SECURE} && ${ENV_EFI_CODE_SECURE-x} ]] && [[ ${ENV_EFI_VARS_SECURE} && ${ENV_EFI_VARS_SECURE-x} ]]; then
|
|
+ EFI_CODE="${ENV_EFI_CODE_SECURE}"
|
|
+ efi_vars "${ENV_EFI_VARS_SECURE}" "${EFI_VARS}"
|
|
+ elif [ -e "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" ]; then
|
|
EFI_CODE="/usr/share/OVMF/OVMF_CODE_4M.secboot.fd"
|
|
efi_vars "/usr/share/OVMF/OVMF_VARS_4M.fd" "${EFI_VARS}"
|
|
elif [ -e "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd" ]; then
|
|
@@ -408,7 +411,10 @@ function vm_boot() {
|
|
fi
|
|
;;
|
|
*)
|
|
- if [ -e "/usr/share/OVMF/OVMF_CODE_4M.fd" ]; then
|
|
+ if [[ ${ENV_EFI_CODE} && ${ENV_EFI_CODE-x} ]] && [[ ${ENV_EFI_VARS} && ${ENV_EFI_VARS-x} ]]; then
|
|
+ EFI_CODE="${ENV_EFI_CODE}"
|
|
+ efi_vars "${ENV_EFI_VARS}" "${EFI_VARS}"
|
|
+ elif [ -e "/usr/share/OVMF/OVMF_CODE_4M.fd" ]; then
|
|
EFI_CODE="/usr/share/OVMF/OVMF_CODE_4M.fd"
|
|
efi_vars "/usr/share/OVMF/OVMF_VARS_4M.fd" "${EFI_VARS}"
|
|
elif [ -e "/usr/share/edk2/ovmf/OVMF_CODE.fd" ]; then
|