blob: 3e5e49cbc91b5aa258c9b0f9eed20f2a2ee2c9ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
;;; Bootloader definitions for PantherX OS
;;; Author: Reza Alizadeh Majd <r.majd@pantherx.org>
;;;
(define-module (px packages bootloaders)
#:use-module (gnu bootloader)
#:use-module (gnu bootloader u-boot)
#:use-module (gnu packages)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages firmware)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
; #:export (u-boot-khadas-edge-rk3399-bootloader)
)
;;; required items:
;;; 1. bootloader package
;;; 2. bootloader definition
;;;
; (define-public u-boot-khadas-edge-rk3399
; (let ((base (make-u-boot-package "khadas-edge-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)
; ;; Reference:
; ;; https://github.com/krescue/khadas-uboot/blob/2a2c7b5058b8cf26b4aa315d463f2c32c32d1abb/packages/arm-trusted-firmware/package.mk#L23
; (setenv "BL31" (string-append (assoc-ref inputs "firmware")
; "/bl31.elf"))
; #t))
; ;; Phases do not succeed on bl31 ELF.
; (delete 'strip)
; (delete 'validate-runpath)))))
; (native-inputs
; `(("firmware" ,arm-trusted-firmware-rk3399)
; ,@(package-native-inputs base))))))
; (define install-khadas-edge-rk3399-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 file size device offset)
; ;; TODO: we might need to update offset
; (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 u-boot-khadas-edge-rk3399-bootloader
; (bootloader
; (inherit u-boot-bootloader)
; (package u-boot-khadas-edge-rk3399)
; (disk-image-installer install-khadas-edge-rk3399-u-boot)))
(define-public u-boot-rpi-arm64
(make-u-boot-package "rpi_arm64" "aarch64-linux-gnu"))
|