Skip to content

Commit

Permalink
Merge pull request #5261 from VladimirSlavik/master-misc-docs
Browse files Browse the repository at this point in the history
Misc docs updates
  • Loading branch information
VladimirSlavik authored Oct 19, 2023
2 parents 43c8adf + 7d3b3e9 commit d44507d
Show file tree
Hide file tree
Showing 13 changed files with 252 additions and 155 deletions.
180 changes: 180 additions & 0 deletions docs/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,186 @@ Release notes

This document describes major installer-related changes in Fedora releases.

A guide on adding new entries is in the release documentation.

Fedora 39
#########

Changes in the graphical interface
----------------------------------

Use keyboard layout configuration from the Live system
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Until now, users had to specify keyboard layout for the Live environment manually in Anaconda.
With this change, live system itself is responsible for the keyboard configuration and
Anaconda just reads the configuration from the live system for the installed system.

The live keyboard layout is used automatically only if the user does not specify it manually.
At this moment, only Gnome Shell environment is supported.

This is proper fix for https://bugzilla.redhat.com/show_bug.cgi?id=2016613 which was resolved
by a workaround in the past. It is also a step forward to resolve
https://bugzilla.redhat.com/show_bug.cgi?id=1955025.

See also:
- https://github.com/rhinstaller/anaconda/pull/4976
- https://bugzilla.redhat.com/show_bug.cgi?id=2016613
- https://bugzilla.redhat.com/show_bug.cgi?id=1955025

Changes in kickstart support
----------------------------

New kickstart options to control DNS handling
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

There are several new options for the ``network`` kickstart command to control handling of DNS:

- The ``--ipv4-dns-search`` and ``--ipv6-dns-search`` allow manual setting of DNS search
domains. These options mirror their respective NetworkManager properties, for example::

network --device ens3 --ipv4-dns-search example.com,custom-intranet-domain.biz (...)

- ``--ipv4-ignore-auto-dns`` and ``--ipv6-ignore-auto-dns`` allow ignoring DNS settings from
DHCP. These options do not take any arguments.

All of these ``network`` command options must be used together with the ``--device`` option.

See also:
- https://github.com/pykickstart/pykickstart/pull/431
- https://github.com/rhinstaller/anaconda/pull/4519
- https://bugzilla.redhat.com/show_bug.cgi?id=1656662

Changes in Anaconda configuration files
---------------------------------------

Deprecated configuration options are now removed
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following deprecated configuration file options are now removed:

- ``kickstart_modules``
- ``addons_enabled``

See also:
- https://github.com/rhinstaller/anaconda/pull/4764

Allow to turn off geolocation for language selection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

New ``Localization`` section with ``use_geolocation`` option is added to Anaconda
configuration. The option allows to turn off geolocation for language selection.

See also:
- https://github.com/rhinstaller/anaconda/pull/4719

Architecture and hardware support changes
-----------------------------------------

Add support for compressed kernel modules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Support for Driver Discs containing compressed kernel modules has been
added. Support for compressed kernel modules is limited to file extensions
.ko.bz2, .ko.gz, .ko.xz and .ko.zst.

See also:
- https://bugzilla.redhat.com/show_bug.cgi?id=2032638
- https://github.com/rhinstaller/anaconda/pull/5041

Wait 5 secs during boot for OEMDRV devices (#2171811)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Because disks can take some time to appear, an additional delay of 5 seconds
has been added. This can be overridden by boot argument
``inst.wait_for_disks=<value>`` to let dracut wait up to <value> additional
seconds (0 turns the feature off, causing dracut to only wait up to 500ms).
Alternatively, if the ``OEMDRV`` device is known to be present but too slow to be
autodetected, the user can boot with an argument like ``inst.dd=hd:LABEL=OEMDRV``
to indicate that dracut should expect an ``OEMDRV`` device and not start the
installer until it appears.

See also:
- https://bugzilla.redhat.com/show_bug.cgi?id=2171811
- https://github.com/rhinstaller/anaconda/pull/4586

General changes
---------------

New Runtime module
^^^^^^^^^^^^^^^^^^

Anaconda now has a new D-Bus module called ``Runtime``. This module stores run-time
configuration of the installer and provides methods for the overall installer flow control.

Warning: This module must always run, or anaconda crashes. Users of the following
configuration file entries must adapt to this change:

- ``kickstart_modules``
- ``activatable_modules``
- ``forbidden_modules``
- ``optional_modules``

See also:
- https://github.com/rhinstaller/anaconda/pull/4730

Make the EFI System Partition at least 500MiB in size
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The minimum size of the EFI System Partition (ESP) created by Anaconda has changed from 200 MiB to
500 MiB. The maximum size, which is used in most cases, remains at 600 MiB.

The reasons for this change include:
- This partition is used to deploy firmware updates. These updates need free space of twice the
SPI flash size, which will grow from 64 to 128 MiB in near future and make the current
partition size too small.
- The new minimum is identical with what Microsoft mandates OEMs allocate for the partition.

See also:
- https://fedoraproject.org/wiki/Changes/BiggerESP
- https://github.com/rhinstaller/anaconda/pull/4711
- https://github.com/rhinstaller/anaconda/pull/5081

Respect preferred disk label type provided by blivet (#2092091, #2209760)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In Fedora 37, anaconda was changed to always format disks with GPT
disk labels, so long as blivet reported that the platform supports
them at all (even if blivet indicated that MBR labels should be
preferred). This was intended to implement a plan to prefer GPT
disk labels on x86_64 BIOS installs, but in fact resulted in GPT
disk labels also being used in other cases. Now, we go back to
respecting the preferred disk label type indicated by blivet, by
default (a corresponding change has been made to blivet to make it
prefer GPT labels on x86_64 BIOS systems). The inst.disklabel
option can still be used to force a preference for gpt or mbr if
desired.

See also:
- https://bugzilla.redhat.com/show_bug.cgi?id=2092091
- https://bugzilla.redhat.com/show_bug.cgi?id=2209760

Install an image using systemd-boot rather than grub (#2135531)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

With this release, systemd-boot can be selected as an alternative boot
loader for testing and development purposes.

This can be done with ``inst.sdboot`` from the grub/kernel command
line or with ``--sdboot`` in a kickstart file as part of the
bootloader command. The resulting machine should be free of grub,
shim, and grubby packages, with all the boot files on the EFI
System Partition (ESP). This may mean that it is wise to dedicate
the space previously allocated for ``/boot`` to the ESP in order to
assure that future kernel upgrades will have sufficient space.

For more information, refer to the anaconda and systemd-boot documentation.

See also:
- https://bugzilla.redhat.com/show_bug.cgi?id=2135531
- https://github.com/rhinstaller/anaconda/pull/4368


Fedora 38
#########

Expand Down
14 changes: 0 additions & 14 deletions docs/release-notes/bigger-esp.rst

This file was deleted.

10 changes: 0 additions & 10 deletions docs/release-notes/dd-compressed-kernel-modules.rst

This file was deleted.

19 changes: 0 additions & 19 deletions docs/release-notes/keyboard_from_live.rst

This file was deleted.

16 changes: 0 additions & 16 deletions docs/release-notes/kickstart-dns-settings.rst

This file was deleted.

11 changes: 0 additions & 11 deletions docs/release-notes/lang-configuration-setting.rst

This file was deleted.

11 changes: 0 additions & 11 deletions docs/release-notes/removed-conf-options.rst

This file was deleted.

19 changes: 0 additions & 19 deletions docs/release-notes/respect-blivet-label-type.rst

This file was deleted.

19 changes: 0 additions & 19 deletions docs/release-notes/runtime-module.rst

This file was deleted.

20 changes: 0 additions & 20 deletions docs/release-notes/systemd-boot.rst

This file was deleted.

16 changes: 0 additions & 16 deletions docs/release-notes/wait_5_secs_for_disks.rst

This file was deleted.

44 changes: 44 additions & 0 deletions docs/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -430,3 +430,47 @@ If everything looks fine (changelog, new major version & the tag) push the chang
git push origin master --tags

Then continue with the normal Rawhide Anaconda build process.


How to use a new Python version
-------------------------------

Fedora changes Python version from time to time.

The only place where Python is explicitly listed in Anaconda code base and needs changing is in
``scripts/makeupdates``::

# The Python site-packages path for pyanaconda.
SITE_PACKAGES_PATH = "./usr/lib64/python3.12/site-packages/"

If this path is not correct, updates images "mysteriously stop working".

Unfortunately, Python release timing is not well aligned with Fedora, so Rawhide mostly gets
a Python release candidate (rc). This affects two things:

- Usually, the stability of the interpreter is good, but there are deprecations and removals in the
standard library.

- Pylint often does not handle unreleased Python, because it touches private interpreter
and library internals. The only recourse is often to disable it and wait for the official Python
release. Fortunately, ruff handles linting too.


How to collect release notes after branched GA release
------------------------------------------------------

Release notes are collected in ``docs/release-notes/*.rst``. When a major Fedora version goes GA,
these should be collected into the file ``docs/release-notes.rst``. To do so:

0. Work on the master branch. Edit the file. New content is added on top.
1. Create a heading for new Fedora version and subheadings for the broader areas. The previous
entry can provide some guidance.
2. Copy the individual release notes contents into the document according to the headings, and edit
the contents to use the same form as in the document. Don't spend too much time on formatting,
just make sure it renders correctly.
3. Delete the individual release note files.
4. If you know there are some other major features missing, add them to the document too.
5. Commit and make a PR.

The branch used for the release is not touched. This might be surprising, but docs are always used
from the ``master`` branch.
Loading

0 comments on commit d44507d

Please sign in to comment.