diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2018-01-20 21:11:34 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2018-01-20 22:50:56 +0100 |
commit | fccdc8c839370558da8f05626b781bb678d86c94 (patch) | |
tree | 093c19aa6d3ff5c3bb3f482fa676161e7f592891 | |
parent | 8bac66deabb8858bfa9ac29eaf31d68ae86fd0df (diff) | |
download | guix-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.scm | 58 |
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 |