guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#41560] [PATCH 6/8] image: Use grub-efi to install the EFI bootloade


From: Mathieu Othacehe
Subject: [bug#41560] [PATCH 6/8] image: Use grub-efi to install the EFI bootloader.
Date: Wed, 27 May 2020 09:24:18 +0200

* guix/utils.scm (target-intel?): New exported procedure.
* gnu/build/image.scm (initialize-efi-partition): Rename bootloader-package
argument to grub-efi.
* gnu/system/image.scm (system-disk-image): Adapt accordingly to pass
grub-efi package. Make sure that grub-efi is not built if we are not targeting
an Intel system.
---
 gnu/build/image.scm  | 4 ++--
 gnu/system/image.scm | 4 ++++
 guix/utils.scm       | 5 +++++
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/build/image.scm b/gnu/build/image.scm
index 49faeab466..a8594e202b 100644
--- a/gnu/build/image.scm
+++ b/gnu/build/image.scm
@@ -146,10 +146,10 @@ deduplicates files common to CLOSURE and the rest of 
PREFIX."
 
 (define* (initialize-efi-partition root
                                    #:key
-                                   bootloader-package
+                                   grub-efi
                                    #:allow-other-keys)
   "Install in ROOT directory, an EFI loader using BOOTLOADER-PACKAGE."
-  (install-efi-loader bootloader-package root))
+  (install-efi-loader grub-efi root))
 
 (define* (initialize-root-partition root
                                     #:key
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 7ac998d861..a706f872a8 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -235,6 +235,10 @@ used in the image."
                               #:references-graphs '#$graph
                               #:deduplicate? #f
                               #:system-directory #$os
+                              #:grub-efi #$(let-system (system target)
+                                             (and (target-intel?
+                                                   (or target system))
+                                                  grub-efi))
                               #:bootloader-package
                               #+(bootloader-package bootloader)
                               #:bootloader-installer
diff --git a/guix/utils.scm b/guix/utils.scm
index d7b197fa44..fb3b233286 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -74,6 +74,7 @@
             %current-target-system
             package-name->name+version
             target-mingw?
+            target-intel?
             target-arm32?
             target-aarch64?
             target-arm?
@@ -490,6 +491,10 @@ a character other than '@'."
   (and target
        (string-suffix? "-mingw32" target)))
 
+(define* (target-intel? #:optional (target (or (%current-target-system)
+                                               (%current-system))))
+  (any (cut string-prefix? <> target) '("x86_64" "i686")))
+
 (define* (target-arm32? #:optional (target (or (%current-target-system)
                                                (%current-system))))
   (string-prefix? "arm" target))
-- 
2.26.2






reply via email to

[Prev in Thread] Current Thread [Next in Thread]