From Fedora Project Wiki
DocsProject Header docTeam1.png
Beat is open
This beat is now ready to have Fedora 25 content added by the beat writer

zRAM Swap Support in Anaconda

The Anaconda installer now supports swap on zRAM during the installation.

zRAM is a standard block device with its contents compressed. Placing swap into such device during the installation allows the installer to store more data in RAM instead of in the hard drive. This is especially helpful on systems with low amounts of RAM - installation using zRAM on these systems now runs significantly faster. Testing results show that with zRAM swap, it is possible to install Fedora onto systems containing as little as 320 MB RAM.

The zRAM feature is automatically enabled if Anaconda detects 2 GB or less memory, and disabled on systems with more memory. To force zRAM swap on or off, use the inst.zram=on or inst.zram=off boot option within the boot menu.

Specific limits, numbers and way of implementation may be changed in the future.

Changes in Anaconda Boot Options

A boot option is used to modify the installer's behavior via the boot command line. The following boot options have been added to Fedora 21:

  • inst.zram= - use this option to force zRAM swap on (inst.zram=on) or off (inst.zram=off).
  • inst.dnf - forces Anaconda to use the experimental DNF backend for package installation instead of YUM
  • inst.memcheck - perform a check at the beginning of the installation to determine if there is enough available RAM. Stop the installation with an error message if there is not enough available RAM. This option is enabled by default, however, you can use inst.memcheck=0 to disable the check for sufficient ram.

Changes in Anaconda Command Line Options

Anaconda command line options are used when running the installer from a terminal within an already installed system, as for example, when installing into a disk image.

  • The built-in help available through anaconda -h provides descriptions for all available commands.
  • --memcheck: Check if the system has sufficient RAM to complete the installation and abort the installation if it doesn't. This check is approximate. Memory usage during installation depends on the package selection, user interface (graphical/text) and other parameters.
  • --nomemcheck: Do not check if the system has enough RAM to complete the installation. Note that an attempt to install with less than the safe minimum amount of memory may fail.
  • --leavebootorder: Boot drives in their existing order - used to override the default of booting into the newly installed drive on IBM Power Systems servers and EFI systems. This is useful for systems that, for example, should network boot first before falling back to a local boot.
  • --extlinux: Use extlinux as the boot loader. Note that there is no attempt to validate that this will work for your platform, which means your system may be unable to boot after completing the installation.
  • --dnf: Use the experimental DNF package management backend to replace the default YUM backend package manager. For more information about the DNF project, refer to

Changes in Kickstart Syntax

This section provides a list of changes in Kickstart commands and options. A list of these changes can also be viewed using the following command: ksverdiff -f F20 -t F21 Note that this command will only work on Fedora 21 with the pykickstart package installed.

New Commands and Options

  • fcoe --autovlan: Enable automatic discovery of VLANs.
  • bootloader --disabled: Do not attempt to install a boot loader. This option supersedes all other boot loader configuration - if you use this option, all other bootloader options will be ignored and no boot loader packages will be installed.
  • network --interfacename=: Specify a custom interface name for a virtual LAN device. This option should be used when the default name generated by the --vlanid= option is not desirable. This option must be used along with --vlanid=.
  • ostreesetup: A new command, used for OSTree installations. Available options are:
    • --osname=: Management root for OS installation. Mandatory.
    • --remote=: Name of the remote repository. Optional.
    • --url=: Repository URL. Mandatory.
    • --ref=: Name of branch inside the repository. Mandatory.
    • --nogpg: Disable GPG key verification.
  • clearpart --disklabel=: Used to create a custom disk label when relabeling disks
  • autopart --fstype=: Allows you to specify a file system type such as ext4 or xfs to use instead of the default when using automatic partitioning.
  • repo --install: Writes the repository information into the /etc/yum.repos.d/ directory, allowing a repository confiured in Kickstart to be available on the installed system as well.
  • Changes in the %packages section:
    • You can now specify an environment to be installed in the %packages section by adding an environment name prefixed by @^ - for example, @^Infrastructure Server.
    • The %packages --nocore option can be used to disable installing of the Core package group.
    • You can now skip installing the kernel using -kernel.

Changes in Existing Command and Option Behavior

  • The volgroup --pesize option now does not have a default value in Kickstart, which means the default size of a new volume group's physical extents is now determined by the installer during both manual and Kickstart installations. The previous default value for Kickstart installations was 32768.

Additional Changes

  • Software RAID configuration in the graphical user interface has been tweaked.
  • You can now use the [+] and [-] keys as shortcuts in the manual partitioning screen in the graphical user interface.
  • The ksverdiff (part of the pykickstart package) has a new option: --listversions. Use this option to list all available operating system versions which can be used as arguments for the --from= and --to= options.

NOTES, do not publicanize

  • Low memory installations work better using methods where squashfs.img doesn't need to be kept in memory, ie nfs,live image. ????