summary refs log tree commit diff
path: root/gnu/bootloader/u-boot.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-05-28 10:57:35 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-06-14 14:52:21 +0300
commit39250fc6229d60b7ae397749caf1e4c99e49b419 (patch)
tree1ecd52c018e537bce7917217c17e6377076b3a40 /gnu/bootloader/u-boot.scm
parent3e5083b1823cb68cc5e51502cc297e0c2f5aab7e (diff)
downloadguix-39250fc6229d60b7ae397749caf1e4c99e49b419.tar.gz
gnu: bootloader: Add u-boot-sifive-unmatched-bootloader.
* gnu/bootloader/u-boot.scm (install-sifive-unmatched-u-boot,
u-boot-sifive-unmatched-bootloader): New variables.
Diffstat (limited to 'gnu/bootloader/u-boot.scm')
-rw-r--r--gnu/bootloader/u-boot.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 65d7923465..712db15b02 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,6 +44,7 @@
             u-boot-puma-rk3399-bootloader
             u-boot-rock64-rk3328-bootloader
             u-boot-rockpro64-rk3399-bootloader
+            u-boot-sifive-unmatched-bootloader
             u-boot-ts7970-q-2g-1000mhz-c-bootloader
             u-boot-wandboard-bootloader))
 
@@ -135,6 +137,15 @@
             (install-dir (string-append mount-point "/boot")))
         (install-file u-boot.imx install-dir))))
 
+(define install-sifive-unmatched-u-boot
+  #~(lambda (bootloader root-index image)
+      (let ((spl (string-append bootloader "/libexec/spl/u-boot-spl.bin"))
+            (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+        (write-file-on-device spl (stat:size (stat spl))
+                              image (* 34 512))
+        (write-file-on-device u-boot (stat:size (stat u-boot))
+                              image (* 2082 512)))))
+
 
 
 ;;;
@@ -273,3 +284,9 @@
    (package u-boot-ts7970-q-2g-1000mhz-c)
    (installer install-u-boot-ts7970-q-2g-1000mhz-c-u-boot)
    (disk-image-installer #f)))
+
+(define u-boot-sifive-unmatched-bootloader
+  (bootloader
+   (inherit u-boot-bootloader)
+   (package u-boot-sifive-unmatched)
+   (disk-image-installer install-sifive-unmatched-u-boot)))