diff options
author | Vagrant Cascadian <vagrant@debian.org> | 2018-05-28 21:10:15 -0700 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2018-05-29 10:46:13 +0200 |
commit | 6fe165770539a4551b303dc5cd52db6c51c7604a (patch) | |
tree | ae271a8af36d02daabaae9935151decbcc88e2c3 /gnu/packages/bootloaders.scm | |
parent | 2a49aee4d120cd3a8bfd855578f0b8832db88227 (diff) | |
download | guix-6fe165770539a4551b303dc5cd52db6c51c7604a.tar.gz |
system: Add u-boot-puma-rk3399.
* gnu/packages/bootloaders.scm (u-boot-puma-rk3399): New variable. (make-u-boot-package)[arguments]: Add '.rksd' files to the files installed during custom 'install phase. * gnu/bootloader/u-boot.scm (u-boot-puma-rk3399-bootloader): New exported variable. * gnu/system/install.scm (rk3399-puma-installation-os): New exported variable. * gnu/packages/firmware.scm (arm-trusted-firmware-puma-rk3399): New variable. (rk3399-cortex-m0): New variable. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-rw-r--r-- | gnu/packages/bootloaders.scm | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 2dd530125f..a86c73731e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -489,7 +489,7 @@ board-independent tools."))) (let* ((out (assoc-ref outputs "out")) (libexec (string-append out "/libexec")) (uboot-files (append - (find-files "." ".*\\.(bin|efi|img|spl|itb|dtb)$") + (find-files "." ".*\\.(bin|efi|img|spl|itb|dtb|rksd)$") (find-files "." "^(MLO|SPL)$")))) (mkdir-p libexec) (install-file ".config" libexec) @@ -560,6 +560,37 @@ board-independent tools."))) (define-public u-boot-cubieboard (make-u-boot-package "Cubieboard" "arm-linux-gnueabihf")) +(define-public u-boot-puma-rk3399 + (let ((base (make-u-boot-package "puma-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) + ;; Need to copy the firmware into u-boot build + ;; directory. + (copy-file (string-append (assoc-ref inputs "firmware") + "/bl31.bin") "bl31-rk3399.bin") + (copy-file (string-append (assoc-ref inputs "firmware-m0") + "/rk3399m0.bin") "rk3399m0.bin") + #t)) + (add-after 'build 'build-itb + (lambda* (#:key make-flags #:allow-other-keys) + ;; The u-boot.itb is not built by default. + (apply invoke "make" `(,@make-flags ,"u-boot.itb")))) + (add-after 'build-itb 'build-rksd + (lambda* (#:key inputs #:allow-other-keys) + ;; Build Rockchip SD card images. + (invoke "./tools/mkimage" "-T" "rksd" "-n" "rk3399" "-d" + "spl/u-boot-spl.bin" "u-boot-spl.rksd"))))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-puma-rk3399) + ("firmware-m0" ,rk3399-cortex-m0) + ,@(package-native-inputs base)))))) + (define-public vboot-utils (package (name "vboot-utils") |