all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#69588: (chain-loader) declaration will write invalid string on grub.cfg if "+1" is specified instead of an EFI file path.
@ 2024-03-06 17:16 William via Bug reports for GNU Guix
  2024-03-07  0:09 ` bug#69588: [PATCH] Find GRUB root devices for chainloading entries Felix Lechner via Bug reports for GNU Guix
  0 siblings, 1 reply; 2+ messages in thread
From: William via Bug reports for GNU Guix @ 2024-03-06 17:16 UTC (permalink / raw)
  To: 69588

The current (chain-loader) declaration seems to only work properly when
booting in EFI mode[1], as that way you have to specify a file path to
chainload an operating system that's not compatible with GRUB such as
Windows, but this solution will not work properly when using "+1" for
the old MBR/msdos partition table that required bootstrapping, not a
filesystem path, as explained in GRUB's documentation[2].

I've asked about this issue on the guix-help mail list and someone
pointed out where the problem is on the source file[3], it's only a
matter of submitting a patch to fix it so it parses properly when the
(chain-loader) declaration has "+1" for bootstrapping instead of a path.

[1]: https://guix.gnu.org/manual/en/guix.html#chain-loader
[2]: https://www.gnu.org/software/grub/manual/grub/grub.html#chainloader
[3]: https://lists.gnu.org/archive/html/help-guix/2024-03/msg00032.html




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

* bug#69588: [PATCH] Find GRUB root devices for chainloading entries.
  2024-03-06 17:16 bug#69588: (chain-loader) declaration will write invalid string on grub.cfg if "+1" is specified instead of an EFI file path William via Bug reports for GNU Guix
@ 2024-03-07  0:09 ` Felix Lechner via Bug reports for GNU Guix
  0 siblings, 0 replies; 2+ messages in thread
From: Felix Lechner via Bug reports for GNU Guix @ 2024-03-07  0:09 UTC (permalink / raw)
  To: 69588; +Cc: Carlo Zancanaro, William, Felix Lechner

Maybe this would work? It should help grub-root-search to return a meaningful
search expression but may have unintended side effects.

This patch is untested.

More information may be available here:

  https://issues.guix.gnu.org/issue/69588

Change-Id: I7b97a141b0d0d462d8afdd8c69f0ceb9a2d2da0b
---
 gnu/bootloader/grub.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index 2723eda5f4..1a229675da 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -433,7 +433,7 @@ (define* (make-grub-configuration grub config entries
   chainloader ~a
 }~%"
                   #$label
-                  #$(grub-root-search device chain-loader)
+                  #$(grub-root-search device #f)
                   #$chain-loader)))))
 
   (define (crypto-devices)

base-commit: b4107ca3ad8bb8a6b8e669c298be2f14ff0237da
-- 
2.41.0





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

end of thread, other threads:[~2024-03-19  7:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-06 17:16 bug#69588: (chain-loader) declaration will write invalid string on grub.cfg if "+1" is specified instead of an EFI file path William via Bug reports for GNU Guix
2024-03-07  0:09 ` bug#69588: [PATCH] Find GRUB root devices for chainloading entries Felix Lechner via Bug reports for GNU Guix

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.