aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/bootloaders.scm22
1 files changed, 22 insertions, 0 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 063e9c3e68..2ea78c9bac 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages disk)
+ #:use-module (gnu packages firmware)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
@@ -445,6 +446,27 @@ also initializes the boards (RAM etc).")
(define-public u-boot-odroid-c2
(make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
+(define-public u-boot-pine64-plus
+ (let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu")))
+ (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)
+ (let ((bl31 (string-append (assoc-ref inputs "firmware")
+ "/bl31.bin")))
+ (setenv "BL31" bl31)
+ ;; This is necessary while we're using the bundled dtc.
+ (setenv "PATH" (string-append (getenv "PATH") ":"
+ "scripts/dtc")))
+ #t))))))
+ (native-inputs
+ `(("firmware" ,arm-trusted-firmware-pine64-plus)
+ ,@(package-native-inputs base))))))
+
(define-public u-boot-banana-pi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))