aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2018-01-20 21:11:34 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2018-01-20 22:50:56 +0100
commitfccdc8c839370558da8f05626b781bb678d86c94 (patch)
tree093c19aa6d3ff5c3bb3f482fa676161e7f592891
parent8bac66deabb8858bfa9ac29eaf31d68ae86fd0df (diff)
downloadguix-fccdc8c839370558da8f05626b781bb678d86c94.tar
guix-fccdc8c839370558da8f05626b781bb678d86c94.tar.gz
system: Factor out embedded-installation-os.
* gnu/system/install.scm (embedded-installation-os): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it.
-rw-r--r--gnu/system/install.scm58
1 files changed, 28 insertions, 30 deletions
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 714e8cac3f..e84e6a6bc1 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -387,50 +387,48 @@ You have been warned. Thanks for being so brave.\x1b[0m
(term "vt100")
(tty tty))))
-(define beaglebone-black-installation-os
+(define* (embedded-installation-os bootloader bootloader-target tty
+ #:key (extra-modules '()))
+ "Return an installation os for embedded systems.
+The initrd gets the extra modules EXTRA-MODULES.
+A getty is provided on TTY.
+The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
(operating-system
(inherit installation-os)
(bootloader (bootloader-configuration
- (bootloader u-boot-beaglebone-black-bootloader)
- (target "/dev/sda")))
+ (bootloader bootloader)
+ (target bootloader-target)))
(kernel linux-libre)
(initrd (lambda (fs . rest)
(apply base-initrd fs
- ;; This module is required to mount the sd card.
- #:extra-modules (list "omap_hsmmc")
+ #:extra-modules extra-modules
rest)))
- (services (cons* (agetty-default-service "ttyO0")
+ (services (cons* (agetty-default-service tty)
(operating-system-user-services installation-os)))))
+(define beaglebone-black-installation-os
+ (embedded-installation-os u-boot-beaglebone-black-bootloader
+ "/dev/sda"
+ "ttyO0"
+ #:extra-modules
+ ;; This module is required to mount the sd card.
+ '("omap_hsmmc")))
+
+
(define a20-olinuxino-lime2-emmc-installation-os
- (operating-system
- (inherit installation-os)
- (bootloader (bootloader-configuration
- (bootloader u-boot-a20-olinuxino-lime2-bootloader)
- (target "/dev/mmcblk1"))) ; eMMC storage
- (kernel linux-libre)
- (services (cons* (agetty-default-service "ttyS0")
- (operating-system-user-services installation-os)))))
+ (embedded-installation-os u-boot-a20-olinuxino-lime2-bootloader
+ "/dev/mmcblk1" ; eMMC storage
+ "ttyS0"))
(define a20-olinuxino-micro-installation-os
- (operating-system
- (inherit installation-os)
- (bootloader (bootloader-configuration
- (bootloader u-boot-a20-olinuxino-lime2-bootloader)
- (target "/dev/mmcblk0"))) ; SD card storage
- (kernel linux-libre)
- (services (cons* (agetty-default-service "ttyS0")
- (operating-system-user-services installation-os)))))
+ (embedded-installation-os u-boot-a20-olinuxino-micro-bootloader
+ "/dev/mmcblk0" ; SD card storage
+ "ttyS0"))
(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 (cons* (agetty-default-service "ttyS0")
- (operating-system-user-services installation-os)))))
+ (embedded-installation-os u-boot-banana-pi-m2-ultra-bootloader
+ "/dev/mmcblk1" ; eMMC storage
+ "ttyS0"))
;; Return the default os here so 'guix system' can consume it directly.
installation-os