diff options
-rw-r--r-- | gnu/packages/bootloaders.scm | 22 |
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")) |