GNU bug report logs -
#41066
[PATCH] gnu: grub: Support for chain loading.
Previous Next
Reported by: Stefan <stefan-guix <at> vodafonemail.de>
Date: Sun, 3 May 2020 23:35:02 UTC
Severity: normal
Tags: patch
Merged with 41068
Done: Stefan <stefan-guix <at> vodafonemail.de>
Bug is archived. No further changes may be made.
Full log
Message #94 received at 41066 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Stefan,
On Tue, 17 Nov 2020 21:27:42 +0100
Stefan <stefan-guix <at> vodafonemail.de> wrote:
> For example the profile contains at least these folders from the grub package, plus the collection/:
>
> /gnu/store/…-bootloader-profile/collection
> /gnu/store/…-bootloader-profile/etc
> /gnu/store/…-bootloader-profile/share
> /gnu/store/…-bootloader-profile/lib
> /gnu/store/…-bootloader-profile/bin
> /gnu/store/…-bootloader-profile/sbin
Ohhh, that's right. It actually contains the grub installer--which it got from
the grub-efi derivation. The actual boot EFI file is not in the grub-efi
derivation.
I wonder if it is possible (one day!) to have a package that actually contains
the EFI boot file that the grub installer generated. That would be a lot
nicer--though I'm not sure whether that stuff depends on the system and thus
cannot be "pre-generated".
> But the /boot/ folder finally contains something like this, with most of it being content from the collection/, where the GRUB files get installed belaw /boot/efi/:
>
> /boot/bcm2710-rpi-3-b.dtb
> /boot/bootcode.bin
> /boot/bootloader.txt
> /boot/config.txt
> /boot/custom.txt
> /boot/efi/
> /boot/fixup.dat
> /boot/gnu/
> /boot/grub/
> /boot/overlays/
> /boot/u-boot.bin
>
> Actually one could say that the profile hook is a kind of ‘pre-installer’ for everything not related to GRUB, able to prepare everything, but unable to write into the /boot folder.
>
> > If there are no good reasons to do it like that, I'd just put the
> > profile into $output directly instead--it's easier to understand, and also it's
> > how other profiles are being used.
>
> Not having the collection folder would mean that the installer would need to assume much more about the result of the profile hook, to copy the right files to /boot.
I agree. Let's leave it inside subdir "collection".
> > (2) The COPY-FILES? flag is kinda weird.
> > I would prefer if INSTALLER just defaulted to a procedure that: does copy
> > files, and then calls the final bootloader installer.
> > If the user doesn't want it then the user could still pass a INSTALLER
> > that doesn't (for example the user could pass #:installer
> > (bootloader-installer final-bootloader)).
>
> Agreed.
> Another possibility would be to remove the collection folder within a hook.
I don't like that that much because it's mutating too much and thus
composability goes down.
> > I would prefer if the user would just change the INSTALLER in the case he wants
> > to not use the profile (which is kinda weird?!) or pack it or whatever.
>
> OK, I see, in case of a custom installer we can skip the copying completely. That makes sense.
Could you send an updated patch that does it like that? Or do you rather want
the old variant ?
> > (3) Why isn't the final bootloader installed last? I would have expected
> > it to be installed last so that if it does packing of the profile contents
> > in order to quickly find it at boot, it would have to have all the files
> > of the profiles already, no?
>
> I thought about the order as well. My conclusion was that a file from the collection should be able to overwrite a file installed from final-bootloader, for example to install own device-tree files.
Yeah, that makes sense--if a little unusual (thus should be documented).
[Message part 2 (application/pgp-signature, inline)]
This bug report was last modified 4 years and 55 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.