Subject: [bug#77148] [PATCH 5/9] gnu: ovmf-aarch64: Update installed firmware.

From: Efraim Flashner <[email-masked]>
Date: Fri, 21 Mar 2025 10:53:06 +0200

* gnu/packages/firmware.scm (ovmf-aarch64)[arguments]: Adjust the
'install phase to install another binary and to truncate the file to the
expected length.

Change-Id: I53958d5f2ca392e1033630e1dfd29d86c25a74fc
---
 gnu/packages/firmware.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index e7d2e390acc..049fd9246fb 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1190,9 +1190,14 @@ (define-public ovmf-aarch64
                  (lambda _
                    (let ((fmw (string-append #$output "/share/firmware")))
                     (mkdir-p fmw)
-                    (copy-file (string-append "Build/ArmVirtQemu-AARCH64/"
-                                              "RELEASE_GCC/FV/QEMU_EFI.fd")
-                               (string-append fmw "/ovmf_aarch64.bin"))))))))))))
+                    (with-directory-excursion "Build/ArmVirtQemu-AARCH64/RELEASE_GCC/FV"
+                      ;; Make the files the desired length and then install them
+                      (truncate-file "QEMU_EFI.fd" (* 64 1024 1024))
+                      (truncate-file "QEMU_VARS.fd" (* 64 1024 1024))
+                      (copy-file "QEMU_VARS.fd"
+                                 (string-append fmw "/ovmf_vars_aarch64.bin"))
+                      (copy-file "QEMU_EFI.fd"
+                                 (string-append fmw "/ovmf_aarch64.bin")))))))))))))
 
 (define-public ovmf-arm
   (let ((base (make-ovmf-firmware "armhf")))
-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted