From fccdc8c839370558da8f05626b781bb678d86c94 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 20 Jan 2018 21:11:34 +0100 Subject: 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. --- gnu/system/install.scm | 58 ++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 30 deletions(-) (limited to 'gnu/system/install.scm') 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 -- cgit v1.2.3