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.tmpl3
-rw-r--r--gnu/system/grub.scm17
-rw-r--r--gnu/system/install.scm8
-rw-r--r--gnu/system/linux-initrd.scm9
4 files changed, 28 insertions, 9 deletions
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 82687e740b..21b4563b53 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -4,7 +4,7 @@
 
 (use-modules (gnu) (gnu system nss))
 (use-service-modules desktop)
-(use-package-modules certs)
+(use-package-modules certs gnome)
 
 (operating-system
   (host-name "antelope")
@@ -42,6 +42,7 @@
 
   ;; This is where we specify system-wide packages.
   (packages (cons* nss-certs         ;for HTTPS access
+                   gvfs              ;for user mounts
                    %base-packages))
 
   ;; Add GNOME and/or Xfce---we can choose at the log-in
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 4657b06b5f..067b291a5c 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -177,9 +177,9 @@ STORE-MOUNT-POINT is its mount point; these are used to determine where the
 background image and fonts must be searched for.  SYSTEM must be the target
 system string---e.g., \"x86_64-linux\"."
   (define setup-gfxterm-body
-    ;; Intel systems need to be switched into graphics mode, whereas most
-    ;; other modern architectures have no other mode and therefore don't need
-    ;; to be switched.
+    ;; Intel and EFI systems need to be switched into graphics mode, whereas
+    ;; most other modern architectures have no other mode and therefore don't
+    ;; need to be switched.
     (if (string-match "^(x86_64|i[3-6]86)-" system)
         "
   # Leave 'gfxmode' to 'auto'.
@@ -188,6 +188,15 @@ system string---e.g., \"x86_64-linux\"."
   insmod video_bochs
   insmod video_cirrus
   insmod gfxterm
+
+  if [ \"${grub_platform}\" == efi ]; then
+    # This is for (U)EFI systems (these modules are unavailable in the
+    # non-EFI GRUB.)  If we don't load them, GRUB boots in \"blind mode\",
+    # which isn't convenient.
+    insmod efi_gop
+    insmod efi_uga
+  fi
+
   terminal_output gfxterm
 "
         ""))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index dfa003f256..ad234fd9c1 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -255,8 +255,8 @@ the user's target storage device rather than on the RAM disk."
                     (persistent? #f)
                     (max-database-size (* 5 (expt 2 20)))))) ;5 MiB
 
-(define (installation-services)
-  "Return the list services for the installation image."
+(define %installation-services
+  ;; List of services of the installation system.
   (let ((motd (plain-file "motd" "
 Welcome to the installation of the Guix System Distribution!
 
@@ -377,8 +377,7 @@ Use Alt-F2 for documentation.
                   (home-directory "/home/guest"))))
 
     (issue %issue)
-
-    (services (installation-services))
+    (services %installation-services)
 
     ;; We don't need setuid programs so pass the empty list so we don't pull
     ;; additional programs here.
@@ -393,6 +392,7 @@ Use Alt-F2 for documentation.
                      grub                  ;mostly so xrefs to its manual work
                      cryptsetup
                      mdadm
+                     dosfstools         ;mkfs.fat, for the UEFI boot partition
                      btrfs-progs
                      wireless-tools iw wpa-supplicant-minimal iproute
                      ;; XXX: We used to have GNU fdisk here, but as of version
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 174239a566..a787072ba7 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -29,6 +29,7 @@
                 #:select (derivation->output-path))
   #:use-module (guix modules)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages disk)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages guile)
   #:use-module ((gnu packages make-bootstrap)
@@ -193,6 +194,9 @@ loaded at boot time in the order in which they appear."
       ,@(if (find (file-system-type-predicate "9p") file-systems)
             virtio-9p-modules
             '())
+      ,@(if (find (file-system-type-predicate "vfat") file-systems)
+            '("nls_iso8859-1")
+            '())
       ,@(if volatile-root?
             '("fuse")
             '())
@@ -205,6 +209,11 @@ loaded at boot time in the order in which they appear."
                   file-systems)
             (list e2fsck/static)
             '())
+      ,@(if (find (lambda (fs)
+                    (string-suffix? "fat" (file-system-type fs)))
+                  file-systems)
+            (list fatfsck/static)
+            '())
       ,@(if volatile-root?
             (list unionfs-fuse/static)
             '())))