summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2018-01-19 00:25:13 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2018-01-20 20:33:10 +0100
commit30aeb846d7516d534aebeee76be4a920195e8d50 (patch)
tree5daa12e5e976c7a86a59c64567056b81b509910e
parented19fea0e54495788d8984d6b68b9f9aa89a257c (diff)
downloadguix-patches-30aeb846d7516d534aebeee76be4a920195e8d50.tar
guix-patches-30aeb846d7516d534aebeee76be4a920195e8d50.tar.gz
system: Add Banana Pi M2 Ultra installer.
* gnu/bootloader/u-boot.scm (u-boot-banana-pi-m2-ultra-bootloader): New exported variable. (install-allwinner-u-boot): New variable. (u-boot-allwinner-bootloader): New variable. * gnu/packages/bootloaders.scm (u-boot-banana-pi-m2-ultra): New exported variable. * gnu/system/install.scm (banana-pi-m2-ultra-installation-os): New exported variable.
-rw-r--r--gnu/bootloader/u-boot.scm18
-rw-r--r--gnu/packages/bootloaders.scm3
-rw-r--r--gnu/system/install.scm17
3 files changed, 38 insertions, 0 deletions
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 397eb8181c..1e3178adfc 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -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)))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 79a3c5f8bc..50e55d7d00 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -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")
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 1cc3db1160..c7bfdb2595 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -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