Subject: [DOCUMENTATION] doc: Include steps for mounting EFI partitions.

From: Christina O'Donnell <[email-masked]>
Date: Sun, 15 Oct 2023 13:00:24 +0100

This patch ammends the Chrooting section of the Guix manual to help EFI users
who have misconfigured their bootloader. This was neccessary for me after the
first couple botched installation attempts.

* doc/guix.texi (Chrooting into an existing system): Add missing mounts for
repairing broken EFI partitions.
---
 doc/guix.texi | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 3517c95251..72909fc0cb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3046,8 +3046,36 @@ Chrooting into an existing system
 mount --rbind /dev /mnt/dev
 @end example
 
-If your system is EFI-based, you must also mount the ESP partition.
-Assuming it is @file{/dev/sda1}, you can do so with:
+@item
+There are a few more steps for those who are on EFI-based systems. If
+you're using another bootloader method then you may safely skip these.
+They are adapted from @url{https://wiki.debian.org/GrubEFIReinstall, a
+page on the Debian Wiki}.
+
+@item
+Verify that you are booting in from UEFI by checking that
+@file{/sys/firmware/efi} isn't empty.
+
+@item
+If the directory @file{/sys/firmware/efi/efivars} is empty, you need to
+boot the rescue system including the kernel option "efi=runtime" and
+mount the EFI variables before proceeding:
+
+@example sh
+mount -t efivarfs none /sys/firmware/efi/efivars
+@end example
+
+@item
+If your bootloader installation failed, you may need to bind
+@file{efivars} between the two systems.
+
+@example sh
+mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
+@end example
+
+@item
+You also need to mount the ESP partition. Assuming it is
+@file{/dev/sda1}, you can do so with:
 
 @example sh
 mount /dev/sda1 /mnt/boot/efi

base-commit: d2923babf3ac44cb6faa88317f77c98f3016820d
-- 
2.41.0