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

From: Maxim Cournoyer <[email-masked]>
Date: Sat, 22 Mar 2025 16:10:46 +0900

Hi,

Efraim Flashner <[email-masked]> writes:

> * 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")))))))))))))

It's surprising that the firmware files must be truncated; does it not
work if we leave them at their original size (and what would that be?).
Expounding the explanatory comment would help.

-- 
Thanks,
Maxim