summary refs log tree commit diff
path: root/pkgs/development/quickemu/input_overrides.patch
blob: 42e4d2e18294749942d847f5847dbfd13b4f1e2e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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