From 8816704d503aa8f5dd7a62d273ba6d9fdfc7d576 Mon Sep 17 00:00:00 2001 From: Petr Bokoc Date: Apr 27 2021 12:36:52 +0000 Subject: Issue 674 - Installer release notes --- diff --git a/modules/release-notes/pages/sysadmin/Installation.adoc b/modules/release-notes/pages/sysadmin/Installation.adoc index 503e0bb..9abef00 100644 --- a/modules/release-notes/pages/sysadmin/Installation.adoc +++ b/modules/release-notes/pages/sysadmin/Installation.adoc @@ -3,17 +3,219 @@ include::{partialsdir}/entities.adoc[] [[sect-installation]] = Installation +:toc: + +[WARNING] +==== +Fedora 34 contains two potentially breaking changes related to system installation: + +* Multiple Kickstart commands have been deprecated or removed. Deprecated commands in Kickstarts will cause warnings, and removed commands will cause the installation to fail. Notably, this includes the `install` command, which is used in many older Kickstart files. See xref:sysadmin/Installation.adoc#sect-kickstart-deprecated-removed[Deprecated and removed Kickstart commands and options] for a full list of deprecations and removals. + +* All installer boot options now must use the `inst.` prefix, which was previously optional but recommended. Anaconda boot options such as `inst.repo=` will now be ignored if they do not use this prefix. +==== [[sect-installation-anaconda]] == Anaconda changes - This section covers changes in the [application]*Anaconda* installer, including changes in the graphical and text mode interactive installers, Kickstart, and installer boot options. [[sect-installation-anaconda-general]] === General changes -* The filesystem image containing Anaconda installer, images/install.img, which is present both in DVD and netinstall ISOs, does no longer embed EXT4 filesystem image. -Instead, files are stored directly in SquashFS, without intermediate EXT4 layer. Installer content is stored more efficiently -this way, resulting in savings of up to 27MiB per ISO. +* 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 a `tmpfs` 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 using `keyfile` 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 a `nfs:` target is an ISO file, so `nfsiso:` 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 as `inst.stage2=` or `inst.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 link:++https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/43LKTJOUO5TB7LGFWPRNXOYLEQF3KLGG/#ENTHA45Y6VO45FAD4ULPSHCTOXPML3PA++[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 uses `zram-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 the `Manual 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 to `Discard 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 the `langtable` 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`, and `password_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 = __`. +(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) [[sect-installation-kickstart]] -=== Kickstart changes +== Kickstart changes +* The `%anaconda` Kickstart section and its `pwpolicy` 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) + +[[sect-kickstart-deprecated-removed]] +=== 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`