unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GRUB EFI installation breakage
@ 2017-08-22 13:34 Ludovic Courtès
  2017-08-22 14:47 ` Efraim Flashner
  2017-08-22 20:00 ` Marius Bakke
  0 siblings, 2 replies; 5+ messages in thread
From: Ludovic Courtès @ 2017-08-22 13:34 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 70 bytes --]

Hello,

To reconfigure my system on UEFI, I had to apply this patch:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 474 bytes --]

modified   gnu/bootloader/grub.scm
@@ -401,7 +401,8 @@ submenu \"GNU system, old configurations...\" {~%")
         ;; root partition.
         (setenv "GRUB_ENABLE_CRYPTODISK" "y")
         (unless (zero? (system* grub-install "--boot-directory" install-dir
-                                "--efi-directory" efi-dir))
+                                ;; "--efi-directory" efi-dir
+                                ))
           (error "failed to install GRUB (EFI)")))))
 

[-- Attachment #3: Type: text/plain, Size: 731 bytes --]


Before that ‘grub-install’ would fail because ‘efi-dir’ would actually
be “/dev/sda”, which is what I have in the ‘device’ field of
‘grub-configuration’.

Removing the “--efi-directory” solves the problem because ‘grub-install’
automatically determines that the EFI directory is mounted at /boot/efi.

I think 2941b347b664a3d3114de0ac95e28db78db66144 is bogus because it
assumes that the second argument of the gexp’d lambda is ‘efi-dir’,
where in fact it is the ‘device’ field of the bootloader config.

So what is the preferred fix?  Simply remove “--efi-directory” like I
did above, and rename ‘efi-dir’ to ‘device’ to avoid the ambiguity?
Thoughts?

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GRUB EFI installation breakage
  2017-08-22 13:34 GRUB EFI installation breakage Ludovic Courtès
@ 2017-08-22 14:47 ` Efraim Flashner
  2017-08-22 20:00 ` Marius Bakke
  1 sibling, 0 replies; 5+ messages in thread
From: Efraim Flashner @ 2017-08-22 14:47 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1877 bytes --]

On Tue, Aug 22, 2017 at 03:34:54PM +0200, Ludovic Courtès wrote:
> Hello,
> 
> To reconfigure my system on UEFI, I had to apply this patch:
> 

> modified   gnu/bootloader/grub.scm
> @@ -401,7 +401,8 @@ submenu \"GNU system, old configurations...\" {~%")
>          ;; root partition.
>          (setenv "GRUB_ENABLE_CRYPTODISK" "y")
>          (unless (zero? (system* grub-install "--boot-directory" install-dir
> -                                "--efi-directory" efi-dir))
> +                                ;; "--efi-directory" efi-dir
> +                                ))
>            (error "failed to install GRUB (EFI)")))))
>  

> 
> Before that ‘grub-install’ would fail because ‘efi-dir’ would actually
> be “/dev/sda”, which is what I have in the ‘device’ field of
> ‘grub-configuration’.
> 
> Removing the “--efi-directory” solves the problem because ‘grub-install’
> automatically determines that the EFI directory is mounted at /boot/efi.
> 
> I think 2941b347b664a3d3114de0ac95e28db78db66144 is bogus because it
> assumes that the second argument of the gexp’d lambda is ‘efi-dir’,
> where in fact it is the ‘device’ field of the bootloader config.
> 
> So what is the preferred fix?  Simply remove “--efi-directory” like I
> did above, and rename ‘efi-dir’ to ‘device’ to avoid the ambiguity?
> Thoughts?
> 
> Ludo’.

I spent part of today staring at grub
https://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-using-grub_002dinstall.html#Installing-GRUB-using-grub_002dinstall
if efi-directory is /boot/efi then there's no need for the flag.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GRUB EFI installation breakage
  2017-08-22 13:34 GRUB EFI installation breakage Ludovic Courtès
  2017-08-22 14:47 ` Efraim Flashner
@ 2017-08-22 20:00 ` Marius Bakke
  2017-08-22 22:25   ` Ludovic Courtès
  1 sibling, 1 reply; 5+ messages in thread
From: Marius Bakke @ 2017-08-22 20:00 UTC (permalink / raw)
  To: Ludovic Courtès, Andy Wingo; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> Hello,
>
> To reconfigure my system on UEFI, I had to apply this patch:
>
> modified   gnu/bootloader/grub.scm
> @@ -401,7 +401,8 @@ submenu \"GNU system, old configurations...\" {~%")
>          ;; root partition.
>          (setenv "GRUB_ENABLE_CRYPTODISK" "y")
>          (unless (zero? (system* grub-install "--boot-directory" install-dir
> -                                "--efi-directory" efi-dir))
> +                                ;; "--efi-directory" efi-dir
> +                                ))
>            (error "failed to install GRUB (EFI)")))))
>  
>
> Before that ‘grub-install’ would fail because ‘efi-dir’ would actually
> be “/dev/sda”, which is what I have in the ‘device’ field of
> ‘grub-configuration’.
>
> Removing the “--efi-directory” solves the problem because ‘grub-install’
> automatically determines that the EFI directory is mounted at /boot/efi.
>
> I think 2941b347b664a3d3114de0ac95e28db78db66144 is bogus because it
> assumes that the second argument of the gexp’d lambda is ‘efi-dir’,
> where in fact it is the ‘device’ field of the bootloader config.
>
> So what is the preferred fix?  Simply remove “--efi-directory” like I
> did above, and rename ‘efi-dir’ to ‘device’ to avoid the ambiguity?
> Thoughts?

Maybe we could rename "device" to something like "target" and update the
documentation to mention that "target" means the _mounted_ EFI System
Partition for grub-efi, but is typically a block device.

"device" was a no-op for grub-efi anyway since it autodiscovered
"/boot/efi", at least now we can choose a different location.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GRUB EFI installation breakage
  2017-08-22 20:00 ` Marius Bakke
@ 2017-08-22 22:25   ` Ludovic Courtès
  2017-08-23  9:14     ` Andy Wingo
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2017-08-22 22:25 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

Marius Bakke <mbakke@fastmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hello,
>>
>> To reconfigure my system on UEFI, I had to apply this patch:
>>
>> modified   gnu/bootloader/grub.scm
>> @@ -401,7 +401,8 @@ submenu \"GNU system, old configurations...\" {~%")
>>          ;; root partition.
>>          (setenv "GRUB_ENABLE_CRYPTODISK" "y")
>>          (unless (zero? (system* grub-install "--boot-directory" install-dir
>> -                                "--efi-directory" efi-dir))
>> +                                ;; "--efi-directory" efi-dir
>> +                                ))
>>            (error "failed to install GRUB (EFI)")))))
>>  
>>
>> Before that ‘grub-install’ would fail because ‘efi-dir’ would actually
>> be “/dev/sda”, which is what I have in the ‘device’ field of
>> ‘grub-configuration’.
>>
>> Removing the “--efi-directory” solves the problem because ‘grub-install’
>> automatically determines that the EFI directory is mounted at /boot/efi.
>>
>> I think 2941b347b664a3d3114de0ac95e28db78db66144 is bogus because it
>> assumes that the second argument of the gexp’d lambda is ‘efi-dir’,
>> where in fact it is the ‘device’ field of the bootloader config.
>>
>> So what is the preferred fix?  Simply remove “--efi-directory” like I
>> did above, and rename ‘efi-dir’ to ‘device’ to avoid the ambiguity?
>> Thoughts?
>
> Maybe we could rename "device" to something like "target" and update the
> documentation to mention that "target" means the _mounted_ EFI System
> Partition for grub-efi, but is typically a block device.

You mean it’s a block device except for EFI, right?
So yes, we can rename ‘device’ to ‘target’, and we should at least
document what you wrote.

> "device" was a no-op for grub-efi anyway since it autodiscovered
> "/boot/efi", at least now we can choose a different location.

Right.

Do you feel like updating the doc and examples?  :-)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: GRUB EFI installation breakage
  2017-08-22 22:25   ` Ludovic Courtès
@ 2017-08-23  9:14     ` Andy Wingo
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Wingo @ 2017-08-23  9:14 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Wed 23 Aug 2017 00:25, ludo@gnu.org (Ludovic Courtès) writes:

> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>> Hello,
>>>
>>> To reconfigure my system on UEFI, I had to apply this patch:
>>>
>>> modified   gnu/bootloader/grub.scm
>>> @@ -401,7 +401,8 @@ submenu \"GNU system, old configurations...\" {~%")
>>>          ;; root partition.
>>>          (setenv "GRUB_ENABLE_CRYPTODISK" "y")
>>>          (unless (zero? (system* grub-install "--boot-directory" install-dir
>>> -                                "--efi-directory" efi-dir))
>>> +                                ;; "--efi-directory" efi-dir
>>> +                                ))
>>>            (error "failed to install GRUB (EFI)")))))
>>>  
>>>
>>> Before that ‘grub-install’ would fail because ‘efi-dir’ would actually
>>> be “/dev/sda”, which is what I have in the ‘device’ field of
>>> ‘grub-configuration’.
>>>
>>> Removing the “--efi-directory” solves the problem because ‘grub-install’
>>> automatically determines that the EFI directory is mounted at /boot/efi.
>>>
>>> I think 2941b347b664a3d3114de0ac95e28db78db66144 is bogus because it
>>> assumes that the second argument of the gexp’d lambda is ‘efi-dir’,
>>> where in fact it is the ‘device’ field of the bootloader config.
>>>
>>> So what is the preferred fix?  Simply remove “--efi-directory” like I
>>> did above, and rename ‘efi-dir’ to ‘device’ to avoid the ambiguity?
>>> Thoughts?
>>
>> Maybe we could rename "device" to something like "target" and update the
>> documentation to mention that "target" means the _mounted_ EFI System
>> Partition for grub-efi, but is typically a block device.
>
> You mean it’s a block device except for EFI, right?
> So yes, we can rename ‘device’ to ‘target’, and we should at least
> document what you wrote.

Hi!  Sorry for causing problems.  For EFI, we shouldn't specify a block
device AFAIU -- if anything, we should specify the location of the EFI
directory (though it defaults to /boot/efi).  My intention was to change
the meaning of "device" for EFI to be the mounted EFI directory.  But
really I think we should recommend getting rid of this configuration
option, at least in our EFI examples, as a default mount path of
/boot/efi will be good enough I think.

I can update the doc and examples -- will do that now.

Andy

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-08-23  9:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-22 13:34 GRUB EFI installation breakage Ludovic Courtès
2017-08-22 14:47 ` Efraim Flashner
2017-08-22 20:00 ` Marius Bakke
2017-08-22 22:25   ` Ludovic Courtès
2017-08-23  9:14     ` Andy Wingo

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).