Subject: [bug#41066] [PATCH] gnu: grub: Support for chain loading.

From: Stefan <[email-masked]>
Date: Sun, 24 May 2020 15:21:03 +0200

Hi Danny!

> Am 24.05.2020 um 13:13 schrieb Danny Milosavljevic <[email-masked]>:
> 
> I guess it is possible to do it like that--and maybe we even should.
> 
> But a collection of packages and accompanying setup is called a profile.

Good point.

> Maybe you'd rather want a bootloader profile instead of a bootloader
> package-of-packages.
> 
> We do the same for kernel modules--it just creates a profile of all the
> kernel module packages using the procedure "profile-derivation" and then
> uses a profile hook to configure the whole thing.
> 
> See also operating-system-directory-base-entries in gnu/system.scm for
> how this is done with kernel modules (the profile-derivation call).
> 
> You could do something similar with multiple bootloaders that are chained
> together that make some kind of useful whole.
> 
> A profile hook could then make sure that this collection of bootloaders
> actually makes sense and then chain them together in the right order,
> if any.
> 
> What do you think?

I’m still a bloody newbie. This sounds like a huge rework, probably too huge for me.

The biggest trouble from my point of view is that the bootloader installer functions only get a <bootloader> argument, which internally only has a <package> field. Then this <package> would need to be replaced by some kind of <profile>.

My current solution provides a different package with the proper collection of files to copy for the installer. That was quite easy – well, beside the problem to tear in a plain-file, for which I needed the trick with the source field.

Bye

Stefan