M gnu/bootloader/u-boot.scm => gnu/bootloader/u-boot.scm +18 -0
@@ 28,6 28,7 @@
#:use-module (guix records)
#:use-module (guix utils)
#:export (u-boot-bootloader
+ u-boot-banana-pi-m2-ultra-bootloader
u-boot-beaglebone-black-bootloader))
(define install-u-boot
@@ 50,6 51,13 @@
(write-file-on-device u-boot (* 1024 512)
device (* 768 512)))))
+(define install-allwinner-u-boot
+ #~(lambda (bootloader device mount-point)
+ (let ((u-boot (string-append bootloader
+ "/libexec/u-boot-sunxi-with-spl.bin")))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ device (* 8 1024)))))
+
;;;
@@ 68,3 76,13 @@
(inherit u-boot-bootloader)
(package u-boot-beagle-bone-black)
(installer install-beaglebone-black-u-boot)))
+
+(define u-boot-allwinner-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (installer install-allwinner-u-boot)))
+
+(define u-boot-banana-pi-m2-ultra-bootloader
+ (bootloader
+ (inherit u-boot-allwinner-bootloader)
+ (package u-boot-banana-pi-m2-ultra)))
M gnu/packages/bootloaders.scm => gnu/packages/bootloaders.scm +3 -0
@@ 423,6 423,9 @@ also initializes the boards (RAM etc).")
(define-public u-boot-odroid-c2
(make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
+(define-public u-boot-banana-pi-m2-ultra
+ (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
+
(define-public vboot-utils
(package
(name "vboot-utils")
M gnu/system/install.scm => gnu/system/install.scm +17 -0
@@ 44,6 44,7 @@
#:use-module (ice-9 match)
#:use-module (srfi srfi-26)
#:export (installation-os
+ banana-pi-m2-ultra-installation-os
beaglebone-black-installation-os))
;;; Commentary:
@@ 399,6 400,22 @@ You have been warned. Thanks for being so brave.\x1b[0m
(tty "ttyO0"))))
(operating-system-user-services installation-os)))))
+(define banana-pi-m2-ultra-installation-os
+ (operating-system
+ (inherit installation-os)
+ (bootloader (bootloader-configuration
+ (bootloader u-boot-banana-pi-m2-ultra-bootloader)
+ (target "/dev/mmcblk1"))) ; eMMC storage
+ (kernel linux-libre)
+ (services (append
+ (list (agetty-service
+ (agetty-configuration
+ (extra-options '("-L"))
+ (baud-rate "115200")
+ (term "vt100")
+ (tty "ttyS0"))))
+ (operating-system-user-services installation-os)))))
+
;; Return the default os here so 'guix system' can consume it directly.
installation-os