Installation
Table of Contents
- Anaconda changes
- Changes in Anaconda configuration files
- Modularization-related changes
- Changes in updates images
- Kickstart changes
Fedora 34 contains two potentially breaking changes related to system installation:
|
Anaconda changes
This section covers changes in the Anaconda installer, including changes in the graphical and text mode interactive installers, Kickstart, and installer boot options.
General changes
The filesystem image containing the Anaconda installer,
images/install.img
, which is present both in DVD and netinstall ISOs, no longer embeds an ext4 filesystem image. Instead, files are stored directly in SquashFS, without an intermediate ext4 layer. Installer content is stored more efficiently this way, resulting in savings of up to 27MiB per ISO.The installer mounts
/tmp
of the installed system as atmpfs
during the installation. (https://bugzilla.redhat.com/show_bug.cgi?id=1306452)The installer installs the kbd-legacy package to support non-ascii keyboard layouts. (https://bugzilla.redhat.com/show_bug.cgi?id=1919483)
Crashes in wireless networking configuration in installer GUI have been fixed. (https://github.com/rhinstaller/anaconda/pull/2977)
Persistent network configuration from Kickstart configuration is now created in a later stage (not in initramfs), so all the persistent configuration files are generated using the NetworkManager API, which results in:
Consistency between common kickstart configuration and configuration via kickstart %pre section (the same code path is used).
Consistency of generated configuration files. All files are now stored in the format configured in NetworkManager. In Fedora 33 configuration files created from kickstart configuration were stored in
ifcfg
files while other configuration paths (boot options, UI) were usingkeyfile
files.
Added a metapackage for image dependencies - useful when generating
boot.iso
. (The plan is to eventually move stuff from lorax templates to there.) (https://github.com/rhinstaller/anaconda/pull/3126)Removed support for the
nfsiso:
pseudo-protocol. Anaconda can these days detect that anfs:
target is an ISO file, sonfsiso:
became redundant. (https://github.com/rhinstaller/anaconda/pull/2889)
Changes in boot options
The
inst.
prefix, which was previously recommended for use with Anaconda-specific boot options, is now mandatory. Anaconda boot options such asinst.stage2=
orinst.repo=
will now be ignored if they do not use the prefix. This change helps Anaconda avoid conflicts with other projects which may use the same kernel parameters. You can read the discussion of this change on the devel mailing list.The following boot options have been removed:
inst.singlelang
- The single language mode has been removed some time ago.inst.loglevel
- Did not work.inst.zram
- Anaconda useszram-generator
instead.
Changes in the graphical interface
Encryption of thin logical volumes is now allowed on the
Manual Partitioning
screen. (https://github.com/rhinstaller/anaconda/pull/3008)Click the
Encrypt my data
checkbox on theManual Partitioning
screen to automatically generate encrypted default partitioning. (https://github.com/rhinstaller/anaconda/pull/3183)The bottom banner on the
Time & Date
screen shows a correct warning about NTP servers. (https://bugzilla.redhat.com/show_bug.cgi?id=1889180)The GUI for wireless network configuration has been improved. (https://github.com/rhinstaller/anaconda/pull/2977, https://github.com/rhinstaller/anaconda/pull/3009, https://github.com/rhinstaller/anaconda/pull/3098)
The caption of the
Reset All
button in custom partitioning changed toDiscard all changes
, and there is now a tooltip with detailed explanation. (https://github.com/rhinstaller/anaconda/pull/2841)Major languages are now listed first on installation the
Language selection
screen. Remaining languages are listed below in alphabetical order. This brings the installer experience closer to the GNOME desktop environment which already lists major languages first in its language picker. The list of major languages is maintained in thelangtable
project. (https://github.com/rhinstaller/anaconda/pull/2935)Similar to the above change, major common keyboard layouts are also listed first. (https://github.com/rhinstaller/anaconda/pull/2788)
Keyboard layout ordering changed to show US layout first, “native” second. In locales which default keymap does not contain non-ASCII characters, it should be prepended by the US keymap. For example, the default keymap settings for the Russian locale is now “us,ru” instead of “ru,us”. This is needed because almost everything that should be typed during installation is ASCII-only (https://github.com/rhinstaller/anaconda/pull/2782)
Category titles are now translated at runtime. This avoids untranslated strings showing up in categories added by Initial Setup and addons. (https://github.com/rhinstaller/anaconda/pull/2907)
It is now again possible to toggle visibility of the root password and LUKS passphrase that have been typed in the installer. (https://github.com/rhinstaller/anaconda/pull/3119)
Geolocation connection timeout has been lowered to 5 seconds. This avoids the installer getting stuck for several minutes if the system does not have correctly configured internet connectivity. (https://github.com/rhinstaller/anaconda/pull/3022)
Media verification inside the installer can now be interrupted. Note that this does not apply to the pre-installer verification which is the default boot menu option (
Test this media & Install Fedora 34
). (https://github.com/rhinstaller/anaconda/pull/3060)
Changes in the text interface
The installer does not translate the prompt keys in the text user interface anymore. (https://bugzilla.redhat.com/show_bug.cgi?id=1892830)
* Anaconda now attempts to use the best matching font for the currently selected language instead always using
eurlatgr
which does not support scripts such as Cyrillic, Arabic, or Hebrew. (https://github.com/rhinstaller/anaconda/pull/3180)
Changes in Anaconda configuration files
A new
updates_repositories
option of the[Payload]
section defines names of repositories that provide latest updates during the installation if the latest updates are enabled. (https://github.com/rhinstaller/anaconda/pull/3023)New
can_change_root
,can_change_users
, andpassword_policies
configuration options of the[User Interface]
section define the default password policies. (https://github.com/rhinstaller/anaconda/pull/3099)A new
btrfs_compression
configuration option of the[Storage]
section allows you to specify a compression algorithm and level for mounting of Btrfs file systems. (https://bugzilla.redhat.com/show_bug.cgi?id=1928857)You can now use the
kickstart_modules
option of the[Anaconda]
section to disable the following Anaconda DBus modules:Timezone
,Localization
,Security
,Users
,Services
.Initial Setup now loads a product configuration file of a product found in the
os-release
files of the runtime environment. (https://github.com/rhinstaller/initial-setup/pull/117)The installer now detects the default product for product configuration files using the product from the
os-release
files of the installation environment. (https://github.com/rhinstaller/anaconda/pull/3155)You can now import RPM certificates at the end of installation. Specify them using
default_rpm_gpg_keys = *<list of key paths, one per line>*
. (https://github.com/rhinstaller/anaconda/pull/2855)
Modularization-related changes
Anaconda add-ons with their own
%addon
section have to provide their own DBus module. Previous support for this section has been removed. For more information about add-on modularization, visit https://github.com/rhinstaller/hello-world-anaconda-addon.The Kdump Anaconda add-on has been migrated to DBus. (https://github.com/daveyoung/kdump-anaconda-addon/pull/29)
If an Anaconda DBus add-on fails to start, the installer now removes it from the list of available modules, and continues. It no longer aborts the whole installation due to this. (https://github.com/rhinstaller/anaconda/pull/2988)
Installation DBus tasks can now raise a non-critical installation error. In that case, users are allowed to continue with the installation if they want to. (https://github.com/rhinstaller/anaconda/pull/3147)
The Payloads module now handles RPM-OStree installation. (https://github.com/rhinstaller/anaconda/pull/3234)
The Payloads module now handles the
%packages
kickstart section. (https://github.com/rhinstaller/anaconda/pull/3029)The Payloads module now handles the
module
kickstart command. (https://github.com/rhinstaller/anaconda/pull/3233)
Changes in updates images
The installer no longer supports updates images with files in the
/run/install/updates
and/tmp/updates
directories. Use real paths to update the installation environment. (https://github.com/rhinstaller/anaconda/pull/3127)The initial setup can now be tested with an updates image. Call
./scripts/makeupdates
to create the updates image from the local repository. Call/usr/libexec/anaconda/apply-updates
to download and extract the updates image in the runtime environment. (https://github.com/rhinstaller/initial-setup/pull/116)The installer no longer supports updates images on floppy disks. (https://github.com/rhinstaller/anaconda/pull/3033)
Kickstart changes
The
%anaconda
Kickstart section and itspwpolicy
Kickstart command are deprecated and will be removed in in the future. Use Anaconda configuration files to set up the password policy. (https://github.com/rhinstaller/anaconda/pull/3099)The
interactive-defaults.ks
file is deprecated and will be removed in in the future. Use Anaconda configuration files instead. (https://github.com/rhinstaller/anaconda/pull/3099)The installer does not fail anymore if a device is defined in a kickstart file with
noauto
in--fsoptions
. (https://bugzilla.redhat.com/show_bug.cgi?id=1824357)Kickstart parsing warnings are now always shown. Might need a switch to
tty1
though. (https://github.com/rhinstaller/anaconda/pull/3080)Invalid host name in kickstart now causes a warning and halt instead of just crashing. (https://github.com/rhinstaller/anaconda/pull/3135)
(Py)kickstart options now consistently list version where they are removed, both in code and generated docs. Previously this information was not reliably present, and had to be inferred from comparisons of version-specific handlers. (https://github.com/pykickstart/pykickstart/pull/365, https://github.com/pykickstart/pykickstart/pull/369)
(Py)kickstart documentation now provides details on (py)kickstart-specific terminology around command and option lifecycle - deprecations and removals. This is highly useful, because the (py)kickstart ideas differ significantly from the common understanding of these terms. (https://github.com/pykickstart/pykickstart/pull/356)
Deprecated and removed Kickstart commands and options
This version brings a big cleanup of unused, deprecated, and removed commands and options. Deprecated commands and options no longer do anything and log a warning, and removed commands and options cause errors and break the installation.
Removed commands:
autostep
device
deviceprobe
dmraid
install
method
multipath
Removed options:
bootloader --upgrade
harddrive --biospart
ignoredisk --interactive
partition --active
Removed the
%traceback
section - use%onerror
instead.Deprecated options:
timezone --ntpservers
,--nontp
logging --level
%packages --excludeWeakdeps
(use--exclude-weakdeps
instead),--InstLangs
(use--inst-langs
instead)repo --ignoregroups
,--sslcacert
,--sslclientcert
,--sslclientkey