diff mbox series

[bug#63766,1/4] gnu: bootloader: Add u-boot-sifive-unmatched-bootloader.

Message ID 5085b2db36a14af32131e5024a0952d9f3e700ed.1685266344.git.efraim@flashner.co.il
State New
Headers show
Series Image for HiFive Unmatched | expand

Commit Message

Efraim Flashner May 28, 2023, 9:44 a.m. UTC
* gnu/bootloader/u-boot.scm (install-sifive-unmatched-u-boot,
u-boot-sifive-unmatched-bootloader): New variables.
---
 gnu/bootloader/u-boot.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
diff mbox series

Patch

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 @@  (define-module (gnu bootloader u-boot)
             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 @@  (define install-u-boot-ts7970-q-2g-1000mhz-c-u-boot
             (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 @@  (define u-boot-ts7970-q-2g-1000mhz-c-bootloader
    (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)))