diff mbox series

[bug#70913,04/11] gnu: Add ovmf-i686.

Message ID 12604f2b2e1d9c21d687e71b532f245bcc5913d4.1715588342.git.efraim@flashner.co.il
State New
Headers show
Series Combine edk2-tools and ovmf firmware | expand

Commit Message

Efraim Flashner May 13, 2024, 8:21 a.m. UTC
* gnu/packages/firmware.scm (ovmf-i686): New variable.

Change-Id: Ie5702435695e24ed1d2731152a89b0aeb9a050dd
---
 gnu/packages/firmware.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 40ca541437..ab39f8d0d2 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1002,6 +1002,28 @@  (define-public ovmf-x86-64
                              "OVMF_CODE"
                              "OVMF_VARS"))))))))))))
 
+(define-public ovmf-i686
+  (let ((base (make-ovmf-firmware "i686")))
+    (package
+      (inherit base)
+      (arguments
+        (substitute-keyword-arguments (package-arguments base)
+          ((#:phases phases)
+           #~(modify-phases #$phases
+               (replace 'install
+                 (lambda _
+                   (let ((fmw (string-append #$output "/share/firmware")))
+                     (mkdir-p fmw)
+                     (for-each
+                       (lambda (file)
+                         (copy-file
+                           (string-append "Build/OvmfIa32/RELEASE_GCC"
+                                          "/FV/" file ".fd")
+                           (string-append fmw "/" (string-downcase file) "_ia32.bin")))
+                       (list "OVMF"
+                             "OVMF_CODE"
+                             "OVMF_VARS"))))))))))))
+
 (define-public ovmf
   (let ((toolchain-ver "GCC5"))
     (package