summary refs log tree commit diff
path: root/gnu/packages/bootloaders.scm
diff options
context:
space:
mode:
authorCaliph Nomble <nomble@palism.com>2019-10-14 02:01:53 -0400
committerVagrant Cascadian <vagrant@debian.org>2019-10-18 13:32:09 -0700
commitfa7470189eed39ae863f8f269fd3ef29bb084f16 (patch)
treeb87c31734be69fd6b66dd303b0c91c27453dbacd /gnu/packages/bootloaders.scm
parentc07f3b184d6ed81a5f60850fe563092b07784e3b (diff)
downloadguix-fa7470189eed39ae863f8f269fd3ef29bb084f16.tar.gz
gnu: Add u-boot-rockpro64-rk3399
* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399): New exported
  variable.
  (u-boot-2019.10): New variable.
* gnu/bootloader/u-boot.scm (u-boot-rockpro64-rk3399-bootloader): New exported
  variable.
  (install-rockpro64-rk3399-u-boot): New variable.
* gnu/system/install.scm (rockpro64-installation-os): New exported variable.

Adjusted-by: Vagrant Cascadian <vagrant@debian.org>
Signed-off-by: Caliph Nomble <nomble@palism.com>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-rw-r--r--gnu/packages/bootloaders.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 520728b52c..45e1b8fc1c 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -430,6 +430,19 @@ tree binary files.  These are board description files used by Linux and BSD.")
 also initializes the boards (RAM etc).")
     (license license:gpl2+)))
 
+(define u-boot-2019.10
+  (package
+    (inherit u-boot)
+    (version "2019.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "ftp://ftp.denx.de/pub/u-boot/"
+                    "u-boot-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd"))))))
+
 (define-public u-boot-tools
   (package
     (inherit u-boot)
@@ -746,6 +759,28 @@ to Novena upstream, does not load u-boot.img from the first partition.")
          ("firmware-m0" ,rk3399-cortex-m0)
          ,@(package-native-inputs base))))))
 
+(define-public u-boot-rockpro64-rk3399
+  (let ((base (make-u-boot-package "rockpro64-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 vboot-utils
   (package
     (name "vboot-utils")