- 1 Prohibit Anaconda kernel boot parameters without 'inst.' prefix
Prohibit Anaconda kernel boot parameters without 'inst.' prefix
Right now Anaconda allow both with prefix (inst.stage2=) or without prefix (stage2=). We would like to prohibit use of Anaconda kernel boot parameters without the '.inst' prefix.
- Name: Jiří Konečný
- Email: <firstname.lastname@example.org>
- Targeted release: Fedora 34
- Last updated: 2020-12-03
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Anaconda allow to use kernel boot parameters with and without 'inst.' prefix right now (e.g. inst.repo= / repo=). It's not recommended to be used years back and deprecated from Fedora 33. We (Anaconda team) would like to completely prohibit this behavior and rather require user to specify 'inst.' prefix all the time.
The reason for this is keep running into parameter conflicts with other projects. As an example there is 'debug' parameter for both kernel and us. Another reason is to make it readable on the first look what is Dracut (rd.), kernel (no prefix) or Anaconda (inst.).
We already had a few issues with conflicts in the past, like if the user run installation with
debug. In that case the installation boot will enable debug mode for kernel and also for Anaconda which is probably not what you do want.
We have sent mail about doing the deprecation on Fedora 33. The only issue there was why the prefix is 'inst.' and not 'anaconda.'. https://email@example.com/thread/43LKTJOUO5TB7LGFWPRNXOYLEQF3KLGG/#ENTHA45Y6VO45FAD4ULPSHCTOXPML3PA
Benefit to Fedora
This change should make crystal clear what kernel boot parameters are processed by the Anaconda installer. It will also avoid conflicts with other kernel boot parameters consumers.
- Proposal owners:
Remove support to process also arguments without the 'inst.' prefix and require 'inst.' prefix for kernel boot parameters consumed by Anaconda.
- Other developers:
All configurations using the not recommended without prefix solution have to change the invocation of the kernel boot options consumed by Anaconda. These users are already warned on Fedora 33 after boot. This should not be a problem for ISOs we shipping because they already using the recommended 'inst.' prefix everywhere. However, it will probably touch some custom PXE configuration and other custom ISO configurations which are prone to this because users often want to save typing and not write the 'inst.' prefix explicitly. Fortunately, most of these configuration changes shouldn't be that hard to change.
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- Policies and guidelines:
This should not be required. All the documentation should use the recommended 'inst.' prefix already.
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives: No
If your custom infra configuration is not updated then the new Fedora installations could not install correctly. Most probably the ISO will not boot (use of 'stage2=') or your repositories won't be used (use of 'repo=').
How To Test
- You need Virtual Machine and ISO for testing.
- Boot the installation with using the ISO and try Anaconda specific kernel boot parameters. See here to find out the list https://anaconda-installer.readthedocs.io/en/latest/boot-options.html.
- Parameters without the prefix should be ignored and with the prefix should be used.
Users of Fedora official ISOs should not be impacted because all the Fedora official ISOs should already use the recommended prefix.
Don't know about any packages impacted by this change.
- Contingency mechanism: The Anaconda team will revert code changes and get back support without the 'inst.' prefix.
- Contingency deadline: Final Freeze
- Blocks release? No
- Blocks product? This won't require changes for any specific product.
I don't think we need to document this change other way than Release Notes. As said before, the solution without 'inst.' prefix is not recommended years and it shouldn't be used anywhere in the official documentation.