aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/bootloaders.scm
diff options
context:
space:
mode:
authorVagrant Cascadian <vagrant@debian.org>2019-10-18 15:43:09 -0700
committerVagrant Cascadian <vagrant@debian.org>2019-10-18 15:48:18 -0700
commit545ff7b7841ddae9c73345ab5c6af42aadbda6e3 (patch)
tree12f6bca01a884e86d8569885dc3c9e4718b2a070 /gnu/packages/bootloaders.scm
parente52b953434b255f53e61125c7fd3653adcebdab8 (diff)
downloadguix-545ff7b7841ddae9c73345ab5c6af42aadbda6e3.tar
guix-545ff7b7841ddae9c73345ab5c6af42aadbda6e3.tar.gz
gnu: Add u-boot-firefly-rk3399.
* gnu/packages/bootloaders (u-boot-firefly-rk3399): New variable. * gnu/bootloader/u-boot (install-firefly-rk3399-u-boot): New variable. (u-boot-firefly-rk3399-bootloader): New variable. * gnu/system/install (define firefly-rk3399-installation-os): New variable.
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-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 d2f4d511db..438f404e1a 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -785,6 +785,28 @@ to Novena upstream, does not load u-boot.img from the first partition.")
`(("firmware" ,arm-trusted-firmware-rk3328)
,@(package-native-inputs base))))))
+(define-public u-boot-firefly-rk3399
+ (let ((base (make-u-boot-package "firefly-rk3399" "aarch64-linux-gnu")))
+ (package
+ (inherit base)
+ (version (package-version u-boot-2019.10))
+ (source (package-source u-boot-2019.10))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "BL31" (string-append (assoc-ref inputs "firmware")
+ "/bl31.elf"))
+ #t))
+ ;; Phases do not succeed on the bl31 ELF.
+ (delete 'strip)
+ (delete 'validate-runpath)))))
+ (native-inputs
+ `(("firmware" ,arm-trusted-firmware-rk3399)
+ ,@(package-native-inputs base))))))
+
(define-public u-boot-rockpro64-rk3399
(let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu")))
(package