[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70131] [PATCH 1/5] gnu: bootloader: Add nanopi-r4s-rk3399 bootloade
From: |
Herman Rimm |
Subject: |
[bug#70131] [PATCH 1/5] gnu: bootloader: Add nanopi-r4s-rk3399 bootloader. |
Date: |
Mon, 1 Apr 2024 22:22:29 +0200 |
* gnu/bootloader/u-boot.scm (install-nanopi-r4s-rk3399-u-boot,
u-boot-nanopi-r4s-rk3399-bootloader): Add variable.
* gnu/packages/bootloaders.scm (u-boot-nanopi-r4s-rk3399): Add variable.
Change-Id: I6d4cb098727fe4027aea33a39c59d34000dfc4db
---
gnu/bootloader/u-boot.scm | 18 +++++++++++++++++-
gnu/packages/bootloaders.scm | 17 ++++++++++++++++-
2 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index d20aabd538..4d0f7ead96 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -5,7 +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>
+;;; Copyright © 2023-2024 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +36,7 @@ (define-module (gnu bootloader u-boot)
u-boot-cubietruck-bootloader
u-boot-firefly-rk3399-bootloader
u-boot-mx6cuboxi-bootloader
+ u-boot-nanopi-r4s-rk3399-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
u-boot-orangepi-r1-plus-lts-rk3328-bootloader
@@ -95,6 +96,15 @@ (define install-imx-u-boot
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 69 1024)))))
+(define install-nanopi-r4s-rk3399-u-boot
+ #~(lambda (bootloader root-index image)
+ (let ((spl (string-append bootloader "/libexec/idbloader.img"))
+ (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+ (write-file-on-device spl (stat:size (stat spl))
+ image (* 64 512))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ image (* 16384 512)))))
+
(define install-orangepi-r1-plus-lts-rk3328-u-boot
#~(lambda (bootloader root-index image)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
@@ -244,6 +254,12 @@ (define u-boot-novena-bootloader
(inherit u-boot-imx-bootloader)
(package u-boot-novena)))
+(define u-boot-nanopi-r4s-rk3399-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (package u-boot-nanopi-r4s-rk3399)
+ (disk-image-installer install-nanopi-r4s-rk3399-u-boot)))
+
(define u-boot-orangepi-r1-plus-lts-rk3328-bootloader
(bootloader
(inherit u-boot-bootloader)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index cfe8046731..d1bf0fcd98 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -18,7 +18,7 @@
;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2023-2024 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1210,6 +1210,21 @@ (define-public u-boot-novena
version, contrary to Novena upstream, does not load u-boot.img from the first
partition."))
+(define-public u-boot-nanopi-r4s-rk3399
+ (let ((base (make-u-boot-package "nanopi-r4s-rk3399" "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 inputs #:allow-other-keys)
+ (setenv "BL31" (search-input-file inputs "/bl31.elf"))))))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (append arm-trusted-firmware-rk3399))))))
+
(define-public u-boot-orangepi-r1-plus-lts-rk3328
(let ((base (make-u-boot-package "orangepi-r1-plus-lts-rk3328"
"aarch64-linux-gnu")))
(package
--
2.41.0