summary refs log tree commit diff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2018-01-23 00:50:12 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2018-01-29 00:11:58 +0100
commitde2bc8d6da0ba4e74ed083af66a22cf96f74e67f (patch)
tree617d6d96581668c0a5333d5fbf4cc53ebe217c4b
parentd2a7170def9f0adf7e60ff1d9e39737e3b412c59 (diff)
downloadguix-de2bc8d6da0ba4e74ed083af66a22cf96f74e67f.tar.gz
hydra: Add arm image builder.
* build-aux/hydra/gnu-system.scm (%u-boot-systems): New
variable.
(%guixsd-supported-systems): Add armhf-linux.
(qemu-jobs): Use u-boot if system in %u-boot-systems.
-rw-r--r--build-aux/hydra/gnu-system.scm16
1 files changed, 14 insertions, 2 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 04845a3e1f..c9aa597752 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -51,6 +51,7 @@
              ((guix scripts system) #:select (read-operating-system))
              ((guix scripts pack)
               #:select (lookup-compressor self-contained-tarball))
+             (gnu bootloader u-boot)
              (gnu packages)
              (gnu packages gcc)
              (gnu packages base)
@@ -135,7 +136,10 @@ SYSTEM."
     "i686-w64-mingw32"))
 
 (define %guixsd-supported-systems
-  '("x86_64-linux" "i686-linux"))
+  '("x86_64-linux" "i686-linux" "armhf-linux"))
+
+(define %u-boot-systems
+  '("armhf-linux"))
 
 (define (qemu-jobs store system)
   "Return a list of jobs that build QEMU images for SYSTEM."
@@ -158,12 +162,20 @@ system.")
   (define MiB
     (expt 2 20))
 
+  (define (adjust-bootloader os)
+    (if (member system %u-boot-systems)
+      (operating-system (inherit os)
+        (bootloader (bootloader-configuration
+                     (bootloader u-boot-bootloader)
+                     (target "/dev/null"))))
+      os))
+
   (if (member system %guixsd-supported-systems)
       (list (->job 'usb-image
                    (run-with-store store
                      (mbegin %store-monad
                        (set-guile-for-build (default-guile))
-                       (system-disk-image installation-os
+                       (system-disk-image (adjust-bootloader installation-os)
                                           #:disk-image-size
                                           (* 1024 MiB)))))
             (->job 'iso9660-image