Purpose of Kickstart
The basic function of a kickstart server is to allow an administrator to perform a network installation of Linux. It provides a single location to store files for installation and allows for ease of updating those files instead of dealing with multiple copies of DVDs. It also allows for very fast and hands-free installation as well as the ability to provide a menu-driven interface for selection of the desired kickstart configuration from among two or more choices.
Kickstart Event Sequence
Understanding the elements of the kickstart process is important to understanding the configuration required to perform a kickstart installation.
A network-based kickstart can be initiated by an PXE Boot capable NIC. The PXE Boot first requests an IP address from a DHCP server. It also obtains the location of a PXE Boot file from the DHCP server. PXELINUX is a bootloader for Linux using the PXE network booting protocol. The PXE Boot file is loaded from the TFTP server along with the contents of a file which defines the location and name of the installation kernel and initrd.img file as well as some parameters for the boot kernel and a menu for the Anaconda installer. This configuration file for Anaconda also contains the location of the kickstart configuration file to be used during the installation.
The PXE Boot file then loads the boot kernel and initrd image still using TFTP. The kernel then starts Anaconda which loads the menu and gives you a timed window in which to make a choice. The Menu and time-out can be skipped if you do not need to make any choices here.
After choosing the desired kickstart installation, Anaconda locates the kickstart configuration file from the HTTP server and reads it. The kickstart configuration file has a default name of ks.cfg, but can be named anything. We use several for our different configurations, so provide unique names for each. If all of the data required to perform a complete installation is included in the kickstart configuration file, the installation completes without further intervention from the administrator. The RPM files used during the installation are downloaded from the HTTP server as they are needed.
The kickstart configuration file can also contain BASH script commands that can be run both before and after the rest of the installation. We make extensive use of the post-installation BASH scripts to perform installations of locally required RPM packages and tarballs as well as to make configuration changes before the first reboot.