= Proposed System Wide Change: Make BootLoaderSpec the default =
* 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 ==
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
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
== 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
** 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:
* Policies and guidelines:
The policies and guidelines do not need to be updated.
* Trademark approval:
No changes needed.
JBoss EAP Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
lots of times, I see name "copr", "Copr", or "COPR" used somewhere but it's
almost never used correctly for the given context. So I would like to make
it clear, what's the correct way to write it down to get the meaning right.
"Copr" or "COPR" = service providing space for community projects
"copr" or "Copr project" = a single community project
So there are two variants how to refer to service ("Copr" and "COPR").
And there are two variants how to refer to a singular project ("copr" and
----- (minor additional notes to be ignored) -----
When referring to a singular project, just saying "copr" is enough. "co"
stands for "community", "pr" stands for "project".
When you write down "Copr project", it literally means "Community projects
project" so it's a bit redundant to write it down that way.
If you liked to refer to the Fedora instance of Copr service, you would
write "Fedora Copr".
If you liked to ignore the previous rule or made it nice for typography,
you would write "fedora copr" like our logo does. This is also good for IRC.
I don't really mind how people write it down but I think it's good to
provide at least some guide in case somebody needs to think about this :).
I'm upgrading sbt and scala packages to 0.13.13 and 2.11.11
respectively. I am looking for a way to point to a jar file for
jansi-native without hard-coding the path (/usr/lib/java).
Is there a macro available that points to that path? what is the best
option to avoid hard-code this specific path?
I'm exploring the Fedora Modularity world and would like to know
whether it's possible to have two different module streams install two
different sets of packages? If that's possible, would installing one
stream remove the packages from the other stream even though the set of
packages don't overlap? I'm aware that it's not a goal of modularity to
support parallel installability. But what if the packages themselves
already allow parallel installability?
Module name: jdk
Streams: 8, 11
1) "dnf module install jdk:8/default" installs these packages:
2) "dnf module install jdk:11/default" installs these packages:
After 1) *and* 2) would I have both module streams' packages on my
system? Would I have only the set from 2) with 1) removed?
Thanks for your help!
Following is the list of topics that will be discussed in the
FESCo meeting Monday at 15:00UTC in #fedora-meeting-1 on
To convert UTC to your local time, take a look at
date -d '2018-07-02 15:00 UTC'
Links to all issues to be discussed can be found at:
= Discussed and Voted in the Ticket =
None have reached 7 days yet.
= Followups =
= New business =
#topic #1917 F29 System Wide Change: Make BootLoaderSpec-style
configuration files the default
= Open Floor =
For more complete details, please visit each individual
issue. The report of the agenda items can be found at
If you would like to add something to this agenda, you can
reply to this e-mail, file a new issue at
https://pagure.io/fesco, e-mail me directly, or bring it
up at the end of the meeting, during the open floor topic. Note
that added topics may be deferred until the following meeting.
a new version of gdbm is out. So I would like to update gdbm in
(Important note to my question is that gdbm is in minimal buildroot.)
I've planned to do following (please correct me if I'm wrong it would
result in disaster):
1. build compat-gdbm package with current content of gdbm package
2. rebase gdbm package in rawhide (soname is changed!) and wait for
MassRebuild to rebuild other packages to rely back on gdbm instead
Gdbm was also updated before F28 rebuild. But some packages failed to
build. So they still require compat-gdbm.
$ dnf repoquery --alldeps --whatrequires compat-gdbm
What to do? Is it fine to left these three packages as broken and
normally update gdbm?