Anaconda modularization effort

Anaconda is going through a large scale effort to modularize its internals. (Note that this effort is separate from the Fedora modularization effort described in [select-modularity].) The following changes have been made to Anaconda:

  • Modules have been added which are separate Python processes. They are connected to the main Anaconda process using DBus.

  • Most Kickstart commands are now processed on separate modules, and used in the UI in many places as backend data sources.

The modularization effort has no visible impact on the user experience. To read more about the installer internals, see the installer team’s blog.

Kickstart changes

  • The authconfig command has been deprecated by authselect.

Changes in boot options

New boot options:

  • inst.stage2.all - With this boot option, the stage 2 image will be fetched from HTTP, HTTPS and FTP locations which are specified using the inst.stage2= option sequentially in the order they are specified, until the image is successfully fetched. All other locations will be ignored.

  • inst.ks.all - With this boot option, the Kickstart file will be fetched from HTTP, HTTPS and FTP locations which are specified using the inst.ks= option sequentially in the order they are specified, until the file is successfully fetched. All other locations will be ignored.

  • inst.xtimeout= - Specifies a timeout period (in seconds) the installer will wait before starting the X server.

Reduced initial setup redundancy

When you install the Workstation variant of Fedora 28 using the live image, you will now be prompted to create a user account by GNOME Initial Setup instead of Anaconda. Additionally, you will no longer be prompted to set a root password during the installation of Fedora Workstation using the live image. The root account will be disabled by default; you can enable it by setting a password for it using the sudo passwd command. If you do not reenable the root account, you can still perform any administrative tasks using sudo and your user password.

These changes have been made in order to reduce redundancy between Anaconda, Initial Setup, and GNOME Initial Setup, which could previously all ask you to perform the same setup tasks.

Miscellaneous changes

  • Former dependencies of the anaconda package itself have been separated into the anaconda-install-env-deps package.

  • The number of dependencies for Initial Setup has been massively decreased, which enables it to run on systems with a significantly lower amount of memory than before.

  • Anaconda now enables hibernation by default on AMD and Intel (x86) systems.

  • The progress bar displayed while the installation is in progress is now more accurate.

  • The pykickstart and blivet libraries, which are used to handle Kickstart processing and storage configuration respectively, have been both upgraded to version 3.

  • Payload is usable usable in InstallClass

  • You can now add sources in InstallClass

  • InstallClass is now selected at runtime based on the .buildstamp file.

  • InstallClass can now specify a Fedora variant which it should run on. This is defined by the Variant item in the .buildstamp file.