[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: doc: Update for UEFI systems.

From: Marius Bakke
Subject: 01/01: doc: Update for UEFI systems.
Date: Tue, 23 May 2017 20:56:41 -0400 (EDT)

mbakke pushed a commit to branch version-0.13.0
in repository guix.

commit 8e82009169ae4d4dc5046c687fa7c20797d84224
Author: Marius Bakke <address@hidden>
Date:   Thu May 18 19:24:36 2017 +0200

    doc: Update for UEFI systems.
    * doc/guix.texi (USB Stick Installation): Mention UEFI.
    (Preparing for Installation): Add notes about EFI System Partition, and
    mounting partitions before init.
    (Proceeding with the Installation): Mention the GRUB-EFI package.
    (Using the Configuration System): Lightweight desktop is now a UEFI system.
    (GRUB Configuration): Expand on package field. Add indexes.
    * gnu/system/examples/lightweight-desktop.tmpl: Adjust to native EFI 
 doc/guix.texi                                | 32 +++++++++++++++++++++++-----
 gnu/system/examples/lightweight-desktop.tmpl | 30 ++++++++++++++++----------
 2 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 764257a..f3f57e2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7328,8 +7328,8 @@ Access to @file{/dev/sdX} usually requires root 
 @end enumerate
 Once this is done, you should be able to reboot the system and boot from
-the USB stick.  The latter usually requires you to get in the BIOS' boot
-menu, where you can choose to boot from the USB stick.
+the USB stick.  The latter usually requires you to get in the BIOS' or
+UEFI boot menu, where you can choose to boot from the USB stick.
 @xref{Installing GuixSD in a VM}, if, instead, you would like to install
 GuixSD in a virtual machine (VM).
@@ -7483,6 +7483,17 @@ install BIOS-based GRUB (which is the default), make 
sure a BIOS Boot
 Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB
address@hidden EFI, installation
address@hidden UEFI, installation
address@hidden ESP, EFI system partition
+If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System Partition}
+(ESP) is required.  This partition should be mounted at @file{/boot/efi} and
+must have the @code{esp} flag set.  E.g., for @command{parted}:
+parted /dev/sda set 1 esp on
address@hidden example
 Once you are done partitioning the target hard disk drive, you have to
 create a file system on the relevant partition(s)@footnote{Currently
 GuixSD only supports ext4 and btrfs file systems.  In particular, code
@@ -7522,6 +7533,11 @@ root partition):
 mount LABEL=my-root /mnt
 @end example
+Also mount any other partitions you would like to use on the target
+system relative to this path.  If you have @file{/boot} on a separate
+partition for example, mount it at @file{/mnt/boot} now so it is found
+by @code{guix system init} afterwards.
 Finally, if you plan to use one or more swap partitions (@pxref{Memory
 Concepts, swap space,, libc, The GNU C Library Reference Manual}), make
 sure to initialize them with @command{mkswap}.  Assuming you have one
@@ -7596,7 +7612,8 @@ in particular:
 Make sure the @code{grub-configuration} form refers to the device you
-want to install GRUB on.
+want to install GRUB on.  You also need to specify the @code{grub-efi}
+package if you wish to use native UEFI boot.
 Be sure that your partition labels match the value of their respective
@@ -7885,7 +7902,7 @@ management, power management, and more, would look like 
 @include os-config-desktop.texi
 @end lisp
-A graphical environment with a choice of lightweight window managers
+A graphical UEFI system with a choice of lightweight window managers
 instead of full-blown desktop environments would look like this:
@@ -15283,7 +15300,12 @@ The number of seconds to wait for keyboard input 
before booting.  Set to
 The @code{grub-theme} object describing the theme to use.
 @item @code{grub} (default: @code{grub})
-The GRUB package to use.
address@hidden EFI, bootloader
address@hidden UEFI, bootloader
address@hidden BIOS, bootloader
+The GRUB package to use.  Currently either @code{grub}, for ``legacy''
+x86 BIOS systems, or @code{grub-efi}, for modern systems using the
address@hidden Extensible Firmware Interface} (UEFI).
 @item @code{terminal-outputs} (default: @code{'gfxterm})
 The output terminals used for the GRUB boot menu, as a list of symbols.
diff --git a/gnu/system/examples/lightweight-desktop.tmpl 
index 389ec85..6fb6283 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -4,23 +4,31 @@
 (use-modules (gnu) (gnu system nss))
 (use-service-modules desktop)
-(use-package-modules wm ratpoison certs suckless)
+(use-package-modules bootloaders certs ratpoison suckless wm)
   (host-name "antelope")
   (timezone "Europe/Paris")
   (locale "en_US.utf8")
-  ;; Assuming /dev/sdX is the target hard disk, and "my-root"
-  ;; is the label of the target root file system.
-  (bootloader (grub-configuration (device "/dev/sdX")))
-  (file-systems (cons (file-system
-                        (device "my-root")
-                        (title 'label)
-                        (mount-point "/")
-                        (type "ext4"))
-                      %base-file-systems))
+  ;; Use the UEFI variant of GRUB with the EFI System
+  ;; Partition on /dev/sda1.
+  (bootloader (grub-configuration (grub grub-efi)
+                                  (device "/dev/sda1")))
+  ;; Assume the target root file system is labelled "my-root".
+  (file-systems (cons* (file-system
+                         (device "my-root")
+                         (title 'label)
+                         (mount-point "/")
+                         (type "ext4"))
+                       (file-system
+                         ;; Specify partition here since FAT
+                         ;; labels are currently unsupported.
+                         (device "/dev/sda1")
+                         (mount-point "/boot/efi")
+                         (type "vfat"))
+                       %base-file-systems))
   (users (cons (user-account
                 (name "alice")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]