- Distribution-wide Changes
- Scale ZRAM to Full Memory Size
- New package: fbrnch
- ARMv7 to use UEFI as default for all armhfp generated images
- Main is a new name for default git repository branches
- Compress kernel firmware to reduce size on disk
- Unify the location of GRUB configuration files across all supported CPU architectures
- systemd-oomd prevents out-of-memory situations
Distribution-wide Changes
Scale ZRAM to Full Memory Size
In Fedora, a swap partition is not created by default at installation time. Instead, a zram device is created, and swap enabled on it during start-up. zram is a type of RAM drive that uses compression.
For Fedora 34, the size of this zram device is increased. It is set at the same size as RAM or 8 GB, whichever is smaller. This change allows computers with smaller amounts of RAM to successfully complete installation using the Anaconda installer.
Memory allocation for zram happens dynamically, so the block device’s full size is not allocated as it is created. This dynamic resourse allocation, combined with compression in the zram device that is generally greater than 2:1, ensures that the swap file does not entirely consume available memory.
See man zram-generator
for more information about how zram is invoked.
New package: fbrnch
A new fbrnch
(Fed Brunch) package provides a utility which helps simplify or semi-automate workflow processes for Fedora Packagers. This package is available to users without them having to add another Copr repository.
The fbrnch
utility supports the following and more tasks:
Merging and building packages across release branches
Source RPM (SRPM) files, scratch builds, local install, and mock builds from arbitrary package branches
Cloning and listing Fedora packages from Pagure code hosting system
Creating, updating and listing package reviews
Requesting new repositories and branches, and importing new packages directly from package reviews
ARMv7 to use UEFI as default for all armhfp generated images
The UEFI for ARMv7 devices feature delivered all the described infrastructure changes in Fedora 30. However, it brought also some problems with upstream kernel, bootloaders and a number of other pieces, which were out of Fedora control.
In this release, the said problematic pieces were fixed. As a result, the user experience is consistent across all Fedora CPU architectures.
Main is a new name for default git repository branches
With Fedora 34 release, data residing on the master
branch in all Fedora git repositories have been moved to a branch named main
. This update is in line with Fedora’s vision to be free and open source software built by inclusive, welcoming, and open-minded communities.
Users with existing clones of Fedora repositories need to do git pull
to get the changed default branches. Users with existing pull requests against the master
branch need to do git rebase
against the main
branch.
Compress kernel firmware to reduce size on disk
Starting with Fedora 34, the kernel firmware has been compressed with the xz -C crc32
option to reduce the ondisk size by almost a half.
Unify the location of GRUB configuration files across all supported CPU architectures
This change simplifies the GRUB configuration file, improves overall user experience, and also provides the following notable benefits:
Allow the same installation to be booted with either EFI or legacy BIOS
Use the same documentation and commands for all architectures
- NOTE: If grub.cfg needs updating, use
grub2-mkconfig -o /boot/grub2/grub.cfg
- NOTE: If grub.cfg needs updating, use
Make GRUB configuration tools more robust by not relying on symbolic links to be created and not having to handle platform specific cases
Align with images generated by CoreOS Assembler (COSA) and OSBuild on how the GRUB configuration files are used
Align with other Linux distributions on how the GRUB configuration files are used
systemd-oomd prevents out-of-memory situations
The systemd-oomd
service monitors swap and CGroups on your system using the Linux pressure stall information (PSI) and analyzes wasted productivity due to resource shortages. When the system is running out of memory, systemd-oomd
terminates processes under the CGroup that exceeds the configured memory limits.
The systemd-oomd
service is now enabled by default on new installations and when upgrading existing installations. It automatically replaces the earlyoom
service, which previous Fedora releases used to prevent out-of-memory situations.
For information on configuring systemd-oomd
, see the oomd.conf
man page.