= Proposed System Wide Change: Make BootLoaderSpec the default =
https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault


Owner(s):
  * Javier Martinez Canillas <javierm at redhat dot com>
  * Peter Jones <pjones at redhat dot com>


Use BootLoaderSpec fragment files by default to populate the
bootloaders boot menu entries.



== Detailed description ==
The [https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
Boot Loader Specification (BLS)] defines a scheme and file format to
manage boot loader configuration for each boot option in a drop-in
directory, without the need to manipulate bootloader configuration
files. These drop-in directories are the standard on Linux nowadays,
so the goal is to also extend this concept for boot menu entries.
This is especially important in Fedora because the same bootloader is
not used in all architectures. GRUB 2 is used in most of them, but
there are others such as zipl for s390x and Petitboot for ppc64le. Not
all bootloaders have the same configuration file format, so there is a
need for an indirection level and per bootloader specific logic to
edit these configuration files, when adding or removing a boot entry.
The current component that does this work is grubby, that has support
for all the different bootloader configuration file formats and
manipulates them on kernel installation or uninstallation. Besides
manipulating the bootloader configuration files, grubby also does
other things like running dracut to create an initial ramdisk image.
Fedora already has a lot of infrastructure in place to not require
modifying bootloader configuration files for boot menu entries. The
BootLoaderSpec and drop-in BLS fragments can be used instead, and the
kernel-install script can do any additional task that is currently
done by grubby. The kernel-install script has a pluggable design that
uses a drop-in directory for scripts to extend its functionality. So
if needed, any bootloader specific logic can be implemented as
kernel-install scripts.
With this setup the bootloader configuration could be static and not
modified after installation.
The missing piece was the lack of BLS support on all the supported
bootloaders, but all of them have support to parse BLS fragments now.
So we can default to install BLS files on kernel installation and drop
grubby.



== Scope ==
* Proposal owners:
** Generate BLS snippets at kernel build time and ship in the kernel packages.
** Make kernel-install scripts to copy the BLS, kernel and initramfs
images and do any architecture specific task.
** Make GRUB 2, zipl and Petitboot bootloaders to populate their boot
menu entries from the information in BLS files.
** Have a grubby wrapper for backward compatbility that manipulates BLS files.
** Modify packages that use grubby to instead install BLS fragments
(memtest86+, tuned).
** Make sure this is all properly documented in release-notes, etc.

* Other developers:
** The anaconda developers will need to review and merge the patches
to change the default to BLS.
** Test and watch for regressions.

* Release engineering:
RelEng review ticket: https://pagure.io/releng/issue/7572

** List of deliverables:
N/A

* Policies and guidelines:
The policies and guidelines do not need to be updated.

* Trademark approval:
No changes needed.
-- 
Jan Kuřík
JBoss EAP Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/CTKJBECHWEVF5IN6FO5TV7SIYWIMKYRT/

Reply via email to