On Sat, Mar 22, 2025 at 04:10:46PM +0900, Maxim Cournoyer wrote: > Hi, > > Efraim Flashner 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. ovmf_aarch64.bin is currently 2097152 bytes (2.0 Mb). I'll try to find an actual explanation somewhere, but Debian also uses truncate on their files¹ ¹ https://sources.debian.org/src/edk2/2024.11-5/debian/rules/#L249 -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted