summaryrefslogtreecommitdiff
path: root/gnu/packages/bootloaders.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-rw-r--r--gnu/packages/bootloaders.scm21
1 files changed, 17 insertions, 4 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 71a10f54d5..d19cf55bc4 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -340,10 +340,23 @@ menu to select one of the installed operating systems.")
(synopsis "GRand Unified Boot loader (UEFI 32bit version)")
(arguments
`(,@(substitute-keyword-arguments (package-arguments grub-efi)
- ((#:configure-flags flags
- ''()) `(cons* ,(cond ((target-x86?) "--target=i386")
- ((target-arm?) "--target=arm"))
- ,flags)))))))
+ ((#:configure-flags flags ''())
+ `(cons*
+ ,@(cond ((target-x86?) '("--target=i386"))
+ ((target-aarch64?)
+ (list "--target=arm"
+ (string-append "TARGET_CC="
+ (cc-for-target "arm-linux-gnueabihf"))))
+ ((target-arm?) '("--target=arm"))
+ (else '()))
+ ,flags)))))
+ (native-inputs
+ (if (target-aarch64?)
+ (modify-inputs (package-native-inputs grub-efi)
+ (prepend
+ (cross-gcc "arm-linux-gnueabihf")
+ (cross-binutils "arm-linux-gnueabihf")))
+ (package-native-inputs grub-efi)))))
;; Because grub searches hardcoded paths it's easiest to just build grub
;; again to make it find both grub-pc and grub-efi. There is a command