Skip to content

Conversation

@richm
Copy link
Collaborator

@richm richm commented Jun 4, 2020

There are a couple of issues with bootloader cmdline settings.

  • Cannot remove/replace default settings built-in to bootloader

  • There is currently a problem with managing bootloader cmdline settings with
    Fedora Cloud images for Fedora 31, 32, and 33 rawhide.

@richm richm requested a review from pcahyna June 4, 2020 19:41
@pcahyna
Copy link
Member

pcahyna commented Jun 4, 2020

The firewall example README has Supported Distributions and Limitations where this information would fit.

@pcahyna pcahyna requested a review from t-woerner June 4, 2020 19:53
There is currently a problem with managing bootloader cmdline settings with
Fedora Cloud images for Fedora 31, 32, and 33 rawhide.
@richm richm force-pushed the docs-note-about-fedora-bootloader branch from e2b6f8f to 47673b7 Compare June 4, 2020 21:07
@richm
Copy link
Collaborator Author

richm commented Jun 5, 2020

@RHEmployee

@richm
Copy link
Collaborator Author

richm commented Jun 5, 2020

@RHEmployee - what bootloader cmdline parameters do you typically use for tuned testing?

@richm
Copy link
Collaborator Author

richm commented Jun 5, 2020

@yarda @olysonek - is this already mentioned in the tuned documentation?

@yarda
Copy link

yarda commented Jun 5, 2020

@yarda @olysonek - is this already mentioned in the tuned documentation?

@richm it's expected. With the BLS the kernel options can be specified on multiple places and in multiple variables. It's very hard to remove the options from the right place and the correct way. Tools like grubby simplifies the task by just expanding (flattening) all the options first and then modifying them in the flat list, so you could get something which is very different from your intention - i.e. flat list of options, instead of the options specified hierarchically and in variables. That's why Tuned supports only removal of options it added itself. In the Tuned doc there is written:

bootloader
  Adds options to the kernel command line. This plug-in supports only the GRUB 2 boot loader.

I think we should add explicit note about it, I added comment to the redhat-performance/tuned#264 (which is an attempt to improve the bootloader documentation) regarding this.

@richm
Copy link
Collaborator Author

richm commented Jun 5, 2020

@yarda
Copy link

yarda commented Jun 5, 2020

How about this? https://github.com/redhat-performance/tuned/pull/264/files#r436098647

Thanks, I will update the PR. The PR is currently waiting on the doc team for more thorough review.

@pcahyna
Copy link
Member

pcahyna commented Jun 5, 2020

@yarda

With the BLS the kernel options can be specified on multiple places and in multiple variables.

what are those places and variables? The only thing I see in https://systemd.io/BOOT_LOADER_SPECIFICATION/ is that "options ... may appear more than once in which case all specified parameters are used in the order they are listed." but this does not seem particularly difficult to handle.

@yarda
Copy link

yarda commented Jun 8, 2020

@yarda

With the BLS the kernel options can be specified on multiple places and in multiple variables.

what are those places and variables? The only thing I see in https://systemd.io/BOOT_LOADER_SPECIFICATION/ is that "options ... may appear more than once in which case all specified parameters are used in the order they are listed." but this does not seem particularly difficult to handle.

E.g. from what I currently know (there maybe more):

  • for BLS options can appear more than once in the boot loader entry
  • for BLS multiple grubenv variables can be referenced from the boot loader entry, the variables are defined in the grubenv, e.g.: "options $kernelopts1 $kernelopts2", $kernelopts1/2 can be grubenv variables
  • probably one variable could reference other variable
  • other options can be specified in /etc/default/grub, e.g. GRUB_CMDLINE_LINUX, GRUB_CMDLINE_LINUX_DEFAULT, ..., this could be also defined recursively
  • other options can be in grub.cfg or grub-efi.cfg (e.g.the set option=value).
  • the options can be generated by scripts from the /etc/grub.d

Use case for Tuned was to add additional kernel options to the minimal set of options configured by Anaconda and not change the way how the current options are configured on the system.

@richm
Copy link
Collaborator Author

richm commented Jun 8, 2020

closing this PR - kernel_settings does not support bootloader cmdline settings

@richm richm closed this Jun 8, 2020
@richm richm deleted the docs-note-about-fedora-bootloader branch June 8, 2020 20:41
@RHEmployee
Copy link
Contributor

@RHEmployee - what bootloader cmdline parameters do you typically use for tuned testing?

I don't have nothing specific. Mostly, we do regression testing so depends on bug.
However, you proposed spectre flag which seems to work. So I can use it.

@richm
Copy link
Collaborator Author

richm commented Jun 9, 2020

@RHEmployee - what bootloader cmdline parameters do you typically use for tuned testing?

I don't have nothing specific. Mostly, we do regression testing so depends on bug.
However, you proposed spectre flag which seems to work. So I can use it.

I doesn't matter any more since we have decided to drop support for bootloader cmdline settings in the kernel_settings role.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants