aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorHerman Rimm <herman@rimm.ee>2023-11-18 17:01:27 +0100
committerVagrant Cascadian <vagrant@debian.org>2023-12-22 16:06:03 -0800
commit88fb95903c1d94b3be7e8a811d943af988041e4e (patch)
treecc57e14761f7ffc9c5e960c4d9479350c48ccf7c /gnu
parentfad93748cd2d44f7f68d2d973a22ed0b438e657b (diff)
downloadguix-88fb95903c1d94b3be7e8a811d943af988041e4e.tar
guix-88fb95903c1d94b3be7e8a811d943af988041e4e.tar.gz
gnu: bootloader: Add orangepi-r1-plus-lts-rk3328 bootloader.
* gnu/bootloader/u-boot.scm (install-orangepi-r1-plus-lts-rk3328-u-boot, u-boot-orangepi-r1-plus-lts-rk3328-bootloader): New variables. * gnu/packages/bootloaders.scm (u-boot-orangepi-r1-plus-lts-rk3328): New variable. Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader/u-boot.scm17
-rw-r--r--gnu/packages/bootloaders.scm15
2 files changed, 32 insertions, 0 deletions
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 712db15b02..d20aabd538 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023 Herman Rimm <herman_rimm@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
+ u-boot-orangepi-r1-plus-lts-rk3328-bootloader
u-boot-pine64-plus-bootloader
u-boot-pine64-lts-bootloader
u-boot-pinebook-bootloader
@@ -93,6 +95,15 @@
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 69 1024)))))
+(define install-orangepi-r1-plus-lts-rk3328-u-boot
+ #~(lambda (bootloader root-index image)
+ (let ((idb (string-append bootloader "/libexec/idbloader.img"))
+ (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+ (write-file-on-device idb (stat:size (stat idb))
+ image (* 64 512))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ image (* 16384 512)))))
+
(define install-puma-rk3399-u-boot
#~(lambda (bootloader root-index image)
(let ((spl (string-append bootloader "/libexec/idbloader.img"))
@@ -233,6 +244,12 @@
(inherit u-boot-imx-bootloader)
(package u-boot-novena)))
+(define u-boot-orangepi-r1-plus-lts-rk3328-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (package u-boot-orangepi-r1-plus-lts-rk3328)
+ (disk-image-installer install-orangepi-r1-plus-lts-rk3328-u-boot)))
+
(define u-boot-pine64-plus-bootloader
(bootloader
(inherit u-boot-allwinner64-bootloader)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index d0df4f62c2..bd8b621e35 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1188,6 +1188,21 @@ device while it's being turned on (and a while longer).")))
version, contrary to Novena upstream, does not load u-boot.img from the first
partition."))
+(define-public u-boot-orangepi-r1-plus-lts-rk3328
+ (let ((base (make-u-boot-package "orangepi-r1-plus-lts-rk3328" "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 native-inputs inputs #:allow-other-keys)
+ (setenv "BL31" (search-input-file inputs "bl31.elf"))))))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (append arm-trusted-firmware-rk3328))))))
+
(define-public u-boot-cubieboard
(make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))