Subject: bug#66560: closed (Re: bug#66560: [DOCUMENTATION] doc: Include steps for mounting EFI partitions.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 01 Nov 2023 16:25:02 +0000

Your bug report

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

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
66560: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66560
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#66560: [DOCUMENTATION] doc: Include steps for mounting EFI partitions.
From: Maxim Cournoyer <[email-masked]>
To: Christina O'Donnell <[email-masked]>
Cc: [email-masked], Ludovic Courtès <[email-masked]>
Date: Wed, 01 Nov 2023 12:23:29 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Christina,

Christina O'Donnell <[email-masked]> writes:

> Hi Maxim,
>
> Thank you for your time and comments.
>
>> If you look at the latest manual, this should not be empty since mount
>> --rbind is used (the 'r' in the name is for recursive) for the whole
>> /sys directory:
>>
>>           mount --rbind /proc /mnt/proc
>>           mount --rbind /sys /mnt/sys
>>           mount --rbind /dev /mnt/dev
>
> Yes! I see the latest one uses --rbind while the 1.4.0 manual that I
> was following uses --bind. I didn't see the change, but that should be
> sufficient.

[...]

> I don't think "efi=runtime" is necessary (and I couldn't it in the
> kernel documentation).I did run into this problem on the Guix System
> installer. I think now that my problem must have been caused by using
> '--bind' (without the "r"). Since the installer uses an UEFI
> bootloader, I doubt any further steps are needed as you say.

[...]

>> This should be covered by the --rbind, asusming the host contains
>> /sys/firmware/efi/efivars.
>>
>> So I think we don't need to change anything to the manual. If the
>> "efi=runtime" advice is truly useful even on Guix System, we could
>> mention it like so:
>>
>
> I agree. I'm happy for this patch/issue to be closed. Thank you for
> reviewing this!

OK!  Thanks for getting back to us.  Closing!

-- 
Maxim

Subject: [DOCUMENTATION] doc: Include steps for mounting EFI partitions.
From: Christina O'Donnell <[email-masked]>
To: [email-masked]
Cc: Christina O'Donnell <[email-masked]>
Date: Sun, 15 Oct 2023 13:00:24 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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