~ruther/guix-local

88fb95903c1d94b3be7e8a811d943af988041e4e — Herman Rimm 2 years ago fad9374
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>
2 files changed, 32 insertions(+), 0 deletions(-)

M gnu/bootloader/u-boot.scm
M gnu/packages/bootloaders.scm
M gnu/bootloader/u-boot.scm => gnu/bootloader/u-boot.scm +17 -0
@@ 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)

M gnu/packages/bootloaders.scm => gnu/packages/bootloaders.scm +15 -0
@@ 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"))