summaryrefslogtreecommitdiff
path: root/gnu/packages/bootloaders.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-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