diff mbox series

[bug#70892,v3,5/7] gnu: Add u-boot-starfive-visionfive2.

Message ID d056616965d07d6cbde16a0ffefe51a51f3b9934.1716127516.git.zhengjunjie@iscas.ac.cn
State New
Headers show
Series Add visionfive2 support. | expand

Commit Message

Zheng Junjie May 19, 2024, 2:15 p.m. UTC
* gnu/packages/bootloaders.scm (u-boot-starfive-visionfive2): New variable.

Change-Id: I2a7d2275b1a0f4253ffc3152c892687aae11a471
---
 gnu/packages/bootloaders.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
diff mbox series

Patch

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 @@  (define-public u-boot-sifive-unmatched
        (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