26.4. Sample Kickstart Configurations

26.4.1. Advanced Partitioning Example

The following is an integrated example showing the clearpart, zerombr, part, raid, volgroup, and logvol Kickstart options in action:

Example 26.9. Advanced Partitioning Example

clearpart --drives=hda,hdc
zerombr
# Raid 1 IDE config
part raid.11 --size 1000 --asprimary --ondrive=hda
part raid.12 --size 1000 --asprimary --ondrive=hda
part raid.13 --size 2000 --asprimary --ondrive=hda
part raid.14 --size 8000 --ondrive=hda
part raid.15 --size 16384 --grow --ondrive=hda
part raid.21 --size 1000 --asprimary --ondrive=hdc
part raid.22 --size 1000 --asprimary --ondrive=hdc
part raid.23 --size 2000 --asprimary --ondrive=hdc
part raid.24 --size 8000 --ondrive=hdc
part raid.25 --size 16384 --grow --ondrive=hdc

# You can add --spares=x
raid / --fstype xfs --device root --level=RAID1 raid.11 raid.21
raid /safe --fstype xfs --device safe --level=RAID1 raid.12 raid.22
raid swap --fstype swap --device swap --level=RAID1 raid.13 raid.23
raid /usr --fstype xfs --device usr --level=RAID1 raid.14 raid.24
raid pv.01 --fstype xfs --device pv.01 --level=RAID1 raid.15 raid.25

# LVM configuration so that we can resize /var and /usr/local later
volgroup sysvg pv.01
logvol /var --vgname=sysvg --size=8000 --name=var
logvol /var/freespace --vgname=sysvg --size=8000 --name=freespacetouse
logvol /usr/local --vgname=sysvg --size=1 --grow --name=usrlocal
This advanced example implements LVM over RAID, as well as the ability to resize various directories for future growth.
First, the clearpart command is used on drives hda and hdc to wipe them. The zerombr command initializes unused partition tables.
Then, the two drives are partitioned to prepare them for RAID configuration. Each drive is divided into five partitions, and each drive is partitioned into an identical layout.
The next part uses these pairs of physical partitions to create a software RAID device with RAID1 level (mirroring). The first four RAID devices are used for / (root), /safe, swap and /usr. The fifth, largest pair of partitions is named pv.01 and will be used in the following part as a physical volume for LVM.
Finally, the last set of commands first creates a volume group named sysvg on the pv.01 physical volume. Then, three logical volumes (/var, /var/freespace and /usr/local) are created and added to the sysvg volume group. The /var and /var/freespace volumes have a set size of 8 GB, and the /usr/local volume uses the --grow option to fill all remaining available space.

26.4.2. User Input Example

The following is an example showing how to prompt the user for input, and then read that input and save it as a variable, using bash:

Example 26.10. User Input Example

exec < /dev/tty6 > /dev/tty6 2> /dev/tty6
chvt 6
IFS=$'\n'
echo -n "Enter input: "
read USERINPUT
echo
echo -n "You entered:" "$USERINPUT"
echo
chvt 1
exec < /dev/tty1 > /dev/tty1 2> /dev/tty1
Due to the way Kickstart operates, the script must switch to a new virtual terminal before reading input from the user. This is accomplished by the exec < /dev/tty6 > /dev/tty6 2> /dev/tty6 and chvt 6 commands. The read USERINPUT reads input from the user until enter is pressed, and stores it in the variable USERINPUT. The echo -n "You entered:" "$USERINPUT" command displays the text You entered: followed by the user's input. Finally, the chvt 1 and exec < /dev/tty1 > /dev/tty1 2> /dev/tty1 commands switch back to the original terminal and allow Kickstart to continue installation.

26.4.3. Example Kickstart file for installing and starting the RNG daemon

The following is an example Kickstart file which demonstrates how to install and enable a service, in this case the Random Number Generator (RNG) daemon, which supplies entropy to the system kernel:

Example 26.11. Example Kickstart file for installing and starting the RNG daemon

services --enabled=rngd

%packages
rng-tools
%end
The services --enabled=rngd command instructs the installed system to start the RNG daemon each time the system starts. The rng-tools package, which contains the RNG daemon, is then designated for installation.