Product SiteDocumentation Site

Kickstart Syntax Reference

This appendix describes commands and options available in Kickstart installations. For general information about Kickstart, see Chapter 9, Automating the Installation with Kickstart.

Important

Device names are not guaranteed to be consistent across reboots, which can complicate usage in Kickstart scripts. When a Kickstart option calls for a device node name (such as sda), you can instead use any item from /dev/disk. For example, instead of:
part / --fstype=xfs --onpart=sda1
You could use an entry similar to one of the following:
part / --fstype=xfs --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1
part / --fstype=xfs --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1
This provides a consistent way to refer to disks that is more meaningful than just sda. This is especially useful in large storage environments.
While the general principles of Kickstart installations tend to stay the same, the commands and options can change between major releases. You can use the ksverdiff command to display the differences between two versions of the Kickstart syntax. This is useful when updating an existing Kickstart file to be used with a new release. To display a list of changes in syntax between Fedora 25 and 26, use the following command:
$ ksverdiff -f F25 -t F26
The -f option specifies the release to start the comparison with, and the -t option to specify the release to end with. For additional information, see the ksverdiff(1) man page. Also note that you can not use this to display changes in a release that is newer than your system - the version of pykickstart on Fedora 25 can not display changes in Fedora 26.
Additionally, you can review the Fedora 26 Release Notes, available at http://docs.fedoraproject.org/, for a list of changes.

Note

In the following sections, if an option is followed by an equals mark (=), a value must be specified after it. In the example commands, options in square brackets ([ ]) are optional arguments for the command.

A.1. Installation Methods and Sources

The following commands control the way Fedora will be installed.

A.1.1. device (optional) - Install Extra Device Drivers

On most PCI systems, the installation program will automatically detect Ethernet and SCSI cards. However, on older systems and some PCI systems, Kickstart requires a hint to find the proper devices. The device command, which tells the installation program to install extra modules, uses the following format:
device moduleName [--opts=]
Replace moduleName with the name of the kernel module which should be installed.
--opts=
Options to pass to the installed kernel module. For example:
device i2c_piix4 --opts="aic152x=0x340 io=11"

A.1.2. driverdisk (optional) - Use a Driver Disk

Driver disks can be used during Kickstart installations to provide additional drivers not included by default. You must copy the driver disks's contents to the root directory of a partition on the system's hard drive. Then, you must use the driverdisk command to specify that the installation program should look for a driver disk and its location.
driverdisk partition | --source= | --biospart=
partition
Search for the driver disk image on a local partition. Replace partition with the name of the partition containing the driver disk. Note that the partition must be specified as a full path. For example:
driverdisk /dev/sdb1
--source=
Search for the driver disk in a network location instead of a local partition. For example:
driverdisk --source=ftp://path/to/dd.img
driverdisk --source=http://path/to/dd.img
driverdisk --source=nfs:hostname:/path/to/dd.img
--biospart=
BIOS partition containing the driver disk (for example, 82p2).

A.1.3. install (required) - Configure Installation Method

The default installation mode. You must specify the type of installation from cdrom, harddrive, nfs, liveimg, or url. The install command and the installation method command must be on separate lines. For example:
install
liveimg --url=file:///images/install/squashfs.img --noverifyssl
The installation method commands are:
cdrom
Install from the first optical (DVD) drive on the system.
harddrive
Install from a tree or full installation ISO image on a local hard drive. The tree or ISO image must be on a file system which is mountable in the installation environment. Supported file systems are ext2, ext3, ext4, vfat, or xfs.
install
harddrive --partition= | --biospart= [--dir=]
--partition=
Partition to install from (such as sdb2).
--biospart=
BIOS partition to install from (such as 82p2).
--dir=
Directory containing the installation tree or ISO image.
liveimg
Install from a disk image instead of packages. The image can be the squashfs.img file from a live ISO image, or any file system that the installation media can mount. Supported file systems are ext2, ext3, ext4, vfat, and xfs.
This command also supports installation from tar archives of the root file system. In that case, the file name must end with .tar, .tbz, .tgz, .txz, .tar.bz2, tar.gz, or tar.xz.
install
liveimg --url= [--proxy= | --checksum= | --noverifyssl=]
--url=
The location to install from. Supported protocols are HTTP, HTTPS, FTP, and file.
--proxy=
Specify an HTTP, HTTPS or FTP proxy to use while performing the installation.
--checksum=
An optional argument with the SHA256 checksum of the image file, used for integrity verification. If you are using a live image provided by Fedora Project, you can find a list of checksums at https://fedoraproject.org/en/verify.
--noverifyssl
Disable SSL verification when connecting to an HTTPS server.
nfs
Install from an NFS server specified. The NFS server must be exporting the full installation ISO image (such as the Fedora Server DVD) or its extracted contents.
install
nfs --server= [--dir=] [--opts= ]
--server=
Host name of the server.
--dir=
Directory containing the installation tree or ISO image.
--opts=
Mount options to use for mounting the NFS export.
url
Install from a tree on a remote server via HTTP, HTTPS, or FTP.
install
url --url= | --mirrorlist= [--proxy= | --noverifyssl]
--url=
The location to install from. Supported protocols are http, https, ftp, and file.
--mirrorlist=
The mirror URL to install from.
--proxy=
Specify an HTTP, HTTPS or FTP proxy to use while performing the installation.
--noverifyssl
Disable SSL verification when connecting to an HTTPS server.

A.1.4. mediacheck (optional) - Verify Installation Media Integrity

This command will force the installation program to perform a media check before starting the installation, similarly to the rd.live.check boot option (see Section 8.5.2, “Verifying Boot Media”. This command requires that installations be attended, so it is disabled by default.

A.1.5. ostreesetup (optional) - Install from an OSTree

Used for OSTree installations. See https://wiki.gnome.org/action/show/Projects/OSTree for more information about OSTree. Available options are:
--osname=
Management root for OS installation (required).
--remote=
Management root for OS installation (optional).
--url=
Repository URL (required).
--ref=
Name of branch inside the repository (required).
--nogpg
Disable GPG key verification (optional).

A.1.6. repo (optional) - Configure Additional Repositories

Configures additional DNF repositories that may be used as sources for package installation. This command can be used multiple times in a single Kickstart file.
See the Fedora System Administrator's Guide, available at http://docs.fedoraproject.org/, for information about the DNF package manager.

Important

Repositories used for installation must be stable. The installation may fail if a repository is modified before the installation concludes.
--name=
The repository ID. This option is required. If a repository has a name which conflicts with another previously added repository, it will be ignored. Because the installation program uses a list of pre-configured repositories, this means that you cannot add repositories with the same names as the preconfigured ones.
--baseurl=
The repository URL. The variables that may be used in DNF repo configuration files are not supported. You may use one of either this option or --mirrorlist, not both.
--mirrorlist=
The URL pointing at a list of mirrors for the repository. The variables that may normally be used in dnf repository configuration files are not supported here. You may use one of either this option or --baseurl, not both.
--install
Make the repository configured in the Kickstart file available on the system after the installation as well. Creates a configuration file for the repository in /etc/yum.repos.d/ on the installed system.
--cost=
An integer value to assign a cost to this repository. If multiple repositories provide the same packages, this number will be used to prioritize which repository will be used before another. Repositories with a lower cost take priority over repositories with higher cost.
--excludepkgs=
A comma-separated list of package names that must not be pulled from this repository. This is useful if multiple repositories provide the same package and you want to make sure it comes from a particular repository. Both full package names (such as publican) and globs (such as gnome-*) are accepted.
--includepkgs=
A comma-separated list of package names and globs that must be pulled from this repository. This is useful if multiple repositories provide the same package and you want to make sure it comes from this repository.
--proxy=
Specify an HTTP, HTTPS or FTP proxy server to use when accessing this repository. This setting does not affect any other repositories or installation sources.
--ignoregroups=true
This option is used when composing installation trees and has no effect on the installation process itself. It tells the compose tools to not look at the package group information when mirroring trees so as to avoid mirroring large amounts of unnecessary data.
--noverifyssl
Disable SSL verification when connecting to an HTTPS server.