bootloaderspec, was: Grub installation. First potential Fedora killer

Chris Murphy lists at colorremedies.com
Mon Jan 13 19:21:57 UTC 2014


On Jan 13, 2014, at 5:24 AM, Harald Hoyer <harald.hoyer at gmail.com> wrote:

> On 01/10/2014 11:57 PM, Adam Williamson wrote:
>> On Thu, 2014-01-09 at 14:30 +0100, Harald Hoyer wrote:
>>> 
>>> That's the reason we came up with
>>> http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
>>> 
>>> and even have a patch for grub2
>>> http://pkgs.fedoraproject.org/cgit/grub2.git/tree/0460-blscfg-add-blscfg-module-to-parse-Boot-Loader-Specif.patch
>>> 
>>> If all bootloaders would follow the spec, nothing has to be configured manually
>>> and would just use the dropin directories.
>> 
>> So what's the hold-up?
>> 
> 
> For Fedora, it's the grub maintainer thinking, that you cannot add directories
> in the EFI partition without registering the name, although it's only required
> for subdirs in the /EFI top-level directory.


My understanding is GRUB2 upstream hasn't accepted patches to use bootloaderspec drop in files, but the Fedora derived GRUB2 does. Is that incorrect?

I see the bootloaderspec as not going far enough. Its two best parts: acknowledgment of the miserable linux boot UX and lack of cooperation among distros to do better; and the drop-in configuration files rather than always modifying grub.cfg.

However, the spec says $BOOT shall be FAT or EXT[234] based, nothing else; and further that the kernel & initramfs will be located relative to $BOOT. This effectively breaks rollback using bootable snapshots, as well as resilient boot in the face of a drive failure because it effectively proscribes $BOOT on Btrfs, or md raid1/raid5.

On UEFI, the preferred location for $BOOT is the EFI System partition, but could be a newly defined partition, shared among all distributions. But this further makes this $BOOT fragile, especially if it's the ESP, with no suggested mechanism for rescuing it or syncing it with other disks in multiple disk systems. Instead of needing to come up with a way to sync multiple ESPs (or $BOOTs) it makes more sense for $BOOT to be as generic as possible, with generic per distro configurations that point to their real configuration file location - and leave it up to the distros if they use a drop-in approach or not, within their own $BOOT.


There are more concerns discussed in this thread:
https://bbs.archlinux.org/viewtopic.php?id=159172&p=1


Chris Murphy


More information about the devel mailing list