summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-05-18 19:24:36 +0200
committerMarius Bakke <mbakke@fastmail.com>2017-05-24 02:56:34 +0200
commit8e82009169ae4d4dc5046c687fa7c20797d84224 (patch)
tree54b65b3e319bb4fef14088cbff1da6ce38b7a38a
parent7c63fff6d0ba1dcd74e1a31c13b501d24d9c66f6 (diff)
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 configuration.
-rw-r--r--doc/guix.texi32
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl30
2 files changed, 46 insertions, 16 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 764257a5cd..f3f57e22f5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7328,8 +7328,8 @@ Access to @file{/dev/sdX} usually requires root privileges.
@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
manual}).
+@cindex EFI, installation
+@cindex UEFI, installation
+@cindex 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}:
+
+@example
+parted /dev/sda set 1 esp on
+@end 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:
@itemize
@item
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.
@item
Be sure that your partition labels match the value of their respective
@@ -7885,7 +7902,7 @@ management, power management, and more, would look like this:
@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:
@lisp
@@ -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.
+@cindex EFI, bootloader
+@cindex UEFI, bootloader
+@cindex 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
+@dfn{Unified 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 b/gnu/system/examples/lightweight-desktop.tmpl
index 389ec8574b..6fb6283d29 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)
(operating-system
(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")