summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/examples/desktop.tmpl4
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl2
-rw-r--r--gnu/system/install.scm70
-rw-r--r--gnu/system/linux-initrd.scm1
-rw-r--r--gnu/system/locale.scm10
-rw-r--r--gnu/system/vm.scm2
6 files changed, 63 insertions, 26 deletions
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 2131d1f18f..e8740407d0 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -48,8 +48,8 @@
 
   ;; Add GNOME and/or Xfce---we can choose at the log-in
   ;; screen with F1.  Use the "desktop" services, which
-  ;; include the X11 log-in service, networking with Wicd,
-  ;; and more.
+  ;; include the X11 log-in service, networking with
+  ;; NetworkManager, and more.
   (services (cons* (gnome-desktop-service)
                    (xfce-desktop-service)
                    %desktop-services))
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
index d13c04c76c..65a8ee1809 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -47,7 +47,7 @@
                    %base-packages))
 
   ;; Use the "desktop" services, which include the X11
-  ;; log-in service, networking with Wicd, and more.
+  ;; log-in service, networking with NetworkManager, and more.
   (services %desktop-services)
 
   ;; Allow resolution of '.local' host names with mDNS.
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 1cc3db1160..b61660b4b9 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -44,7 +44,12 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-26)
   #:export (installation-os
-            beaglebone-black-installation-os))
+            a20-olinuxino-lime-installation-os
+            a20-olinuxino-lime2-emmc-installation-os
+            a20-olinuxino-micro-installation-os
+            banana-pi-m2-ultra-installation-os
+            beaglebone-black-installation-os
+            nintendo-nes-classic-edition-installation-os))
 
 ;;; Commentary:
 ;;;
@@ -376,28 +381,59 @@ You have been warned.  Thanks for being so brave.\x1b[0m
                      nvi                          ;:wq!
                      %base-packages))))
 
-(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)
+    (kernel-arguments
+     (cons (string-append "console=" tty)
+           (operating-system-user-kernel-arguments installation-os)))
     (initrd (lambda (fs . rest)
               (apply base-initrd fs
-                     ;; This module is required to mount the sd card.
-                     #:extra-modules (list "omap_hsmmc")
-                     rest)))
-    (services (append
-               ;; mingetty does not work on serial lines.
-               ;; Use agetty with board-specific serial parameters.
-               (list (agetty-service
-                      (agetty-configuration
-                       (extra-options '("-L"))
-                       (baud-rate "115200")
-                       (term "vt100")
-                       (tty "ttyO0"))))
-               (operating-system-user-services installation-os)))))
+                     #:extra-modules extra-modules
+                     rest)))))
+
+(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-lime-installation-os
+  (embedded-installation-os u-boot-a20-olinuxino-lime-bootloader
+                            "/dev/mmcblk0" ; SD card storage
+                            "ttyS0"))
+
+(define a20-olinuxino-lime2-emmc-installation-os
+  (embedded-installation-os u-boot-a20-olinuxino-lime2-bootloader
+                            "/dev/mmcblk1" ; eMMC storage
+                            "ttyS0"))
+
+(define a20-olinuxino-micro-installation-os
+  (embedded-installation-os u-boot-a20-olinuxino-micro-bootloader
+                            "/dev/mmcblk0" ; SD card storage
+                            "ttyS0"))
+
+(define banana-pi-m2-ultra-installation-os
+  (embedded-installation-os u-boot-banana-pi-m2-ultra-bootloader
+                            "/dev/mmcblk1" ; eMMC storage
+                            "ttyS0"))
+
+(define nintendo-nes-classic-edition-installation-os
+  (embedded-installation-os u-boot-nintendo-nes-classic-edition-bootloader
+                            "/dev/mmcblk0" ; SD card (solder it yourself)
+                            "ttyS0"))
 
 ;; Return the default os here so 'guix system' can consume it directly.
 installation-os
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 0f7f4721dd..330438bce4 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -290,7 +290,6 @@ loaded at boot time in the order in which they appear."
       "usb-storage" "uas"                     ;for the installation image etc.
       "usbhid" "hid-generic" "hid-apple"      ;keyboards during early boot
       "dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions
-      "nvme"                                     ;for new SSD NVMe devices
       "nls_iso8859-1"                            ;for `mkfs.fat`, et.al
       ,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system))
             '("pata_acpi" "pata_atiixp"    ;for ATA controllers
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 75cb855b59..75417f6698 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
   #:use-module (guix store)
   #:use-module (guix records)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (srfi srfi-26)
@@ -90,9 +92,9 @@ or #f on failure."
                       "--no-archive" "--prefix" #$output
                       "-i" #$(locale-definition-source locale)
                       "-f" #$(locale-definition-charset locale)
-                      (string-append #$output "/"
-                                     #$(package-version libc) "/"
-                                     #$(locale-definition-name locale))))))
+                      (string-append #$output "/" #$(version-major+minor
+                                                     (package-version libc))
+                                     "/" #$(locale-definition-name locale))))))
 
 (define* (single-locale-directory locales
                                   #:key (libc (canonical-package glibc)))
@@ -102,7 +104,7 @@ Because locale data formats are incompatible when switching from one libc to
 another, locale data is put in a sub-directory named after the 'version' field
 of LIBC."
   (define version
-    (package-version libc))
+    (version-major+minor (package-version libc)))
 
   (define build
     #~(begin
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 496f2ac4e1..345cecedd8 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -346,7 +346,7 @@ the image."
                                (label "GNU-ESP")             ;cosmetic only
                                ;; Use "vfat" here since this property is used
                                ;; when mounting. The actual FAT-ness is based
-                               ;; on filesystem size (16 in this case).
+                               ;; on file system size (16 in this case).
                                (file-system "vfat")
                                (flags '(esp))))))))
              (initialize-hard-disk "/dev/vda"