summary refs log tree commit diff
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2024-05-11 13:31:55 +0800
committerZheng Junjie <zhengjunjie@iscas.ac.cn>2024-05-22 11:15:30 +0800
commit08474ff6ecf9472b58d188ce2a03a1c4f3f1a146 (patch)
treed96c3248403f67ce422a806747b482b2b1957b75
parent800b33786c361f463d801dbc21115749e78071af (diff)
downloadguix-08474ff6ecf9472b58d188ce2a03a1c4f3f1a146.tar.gz
gnu: Add u-boot-starfive-visionfive2.
* gnu/packages/bootloaders.scm (u-boot-starfive-visionfive2): New variable.

Change-Id: I2a7d2275b1a0f4253ffc3152c892687aae11a471
-rw-r--r--gnu/packages/bootloaders.scm25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index cfe8046731..20af6fcee1 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
 ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1343,6 +1344,30 @@ Documentation} for more information (for example by running @samp{info
        (modify-inputs (package-inputs base)
          (append opensbi-generic))))))
 
+(define-public u-boot-starfive-visionfive2
+  (let ((base (make-u-boot-package "starfive_visionfive2" "riscv64-linux-gnu"
+                                   ;; Allow kernel-arguments pass more content.
+                                   ;; If out of range, boot will fail.
+                                   #:configs '("CONFIG_SYS_CBSIZE=1024"))))
+    (package
+      (inherit base)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (add-after 'unpack 'set-environment
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (setenv "OPENSBI" (search-input-file inputs
+                                                       "fw_dynamic.bin"))))
+              (add-after 'install 'install-u-boot-spl.bin.normal.out
+                (lambda _
+                  (install-file "spl/u-boot-spl.bin.normal.out"
+                                (string-append #$output
+                                               "/libexec/spl"))))))))
+      (inputs
+       (modify-inputs (package-inputs base)
+         (append opensbi-for-visionfive2))))))
+
 (define-public u-boot-rock64-rk3328
   (let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
     (package