summaryrefslogtreecommitdiff
path: root/gnu/packages/bootloaders.scm
diff options
context:
space:
mode:
authorVagrant Cascadian <vagrant@debian.org>2019-10-18 13:14:08 -0700
committerVagrant Cascadian <vagrant@debian.org>2019-10-18 13:32:25 -0700
commit2fce14af242298a352ed244c192017c922244506 (patch)
treee0c51b40c777c27df6e659689f105d54fd62709f /gnu/packages/bootloaders.scm
parentfa7470189eed39ae863f8f269fd3ef29bb084f16 (diff)
downloadpatches-2fce14af242298a352ed244c192017c922244506.tar
patches-2fce14af242298a352ed244c192017c922244506.tar.gz
gnu: Add u-boot-rock64-rk3328.
* gnu/packages/bootloaders (u-boot-rock64-rk3328): New variable. * gnu/bootloader/u-boot (install-rock64-rk3328-u-boot): New variable. (u-boot-rock64-rk3328-bootloader): New variable. * gnu/system/install (define rock64-installation-os): New variable.
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-rw-r--r--gnu/packages/bootloaders.scm26
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 45e1b8fc1c..d2f4d511db 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -759,6 +759,32 @@ 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-rock64-rk3328
+ (let ((base (make-u-boot-package "rock64-rk3328" "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)
+ (let ((bl31 (string-append (assoc-ref inputs "firmware")
+ "/bl31.elf")))
+ (setenv "BL31" bl31))
+ #t))
+ (add-after 'unpack 'add-u-boot-itb
+ (lambda _
+ (substitute* "Kconfig"
+ (("default .u-boot.itb. if SPL_LOAD_FIT && .ROCKCHIP_RK3399")
+ "default \"u-boot.itb\" if SPL_LOAD_FIT && (ARCH_ROCKCHIP"))
+ #t))))))
+ (native-inputs
+ `(("firmware" ,arm-trusted-firmware-rk3328)
+ ,@(package-native-inputs base))))))
+
(define-public u-boot-rockpro64-rk3399
(let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu")))
(package