====== OS Install: Kickstart Examples ======
**General Information**
Kickstart file examples.
**Checklist**
* Distro(s): Enterprise Linux 6/7
----
====== External Resources ======
* [[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html|RHEL Kickstart Options]]
----
====== Kickstart Install ======
See this page for the complete process: [[linux_wiki:os_install_bare_metal|OS Install: Bare Metal]]
----
====== CentOS 6 Example Kickstart File (bios) ======
The following kickstart file performs a network install of CentOS 6 minimal, on /dev/sda, using MBR, with LVM, and reboots after installation.
**Modify the encrypted root password before using.**
#### Title: CentOS 6 Generic Kickstart file for BIOS systems
#### Description: Uses /dev/sda, MBR, and LVM to prepare a CentOS minimal installed system.
########################################
#### CUSTOMIZE THESE SECTIONS BELOW ####
########################################
## Install Location ##
install
nfs --server=10.0.0.200 --dir=/iso/centos6.7-dvd
## Locale Settings ##
lang en_US.UTF-8
keyboard us
## System Configuration ##
rootpw --iscrypted
#######################################
#### END OF CUSTOMIZATION SECTIONS ####
#######################################
## Networking ##
#network settings are inherited from the kernel image boot options in order to keep the kickstart generic
## System Configuration ##
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc America/Chicago
## Disk Partitioning ##
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto"
# Clear Partitions => clear disk /dev/sda partitions, initialize partition tables (zerombr) #
clearpart --drives=sda --all
zerombr
# Physical Partitions #
part /boot --fstype=ext4 --size=512 --ondisk=sda
part pv.01 --grow --size=26624 --ondisk=sda
# LVM Setup #
volgroup vglocal --pesize=4096 pv.01
logvol /home --fstype=ext4 --name=lvhome --vgname=vglocal --size=4096
logvol / --fstype=ext4 --name=lvroot --vgname=vglocal --size=4096
logvol swap --name=lvswap --vgname=vglocal --size=8192
logvol /tmp --fstype=ext4 --name=lvtmp --vgname=vglocal --size=2048
logvol /var --fstype=ext4 --name=lvvar --vgname=vglocal --size=4096
## Packages to Install ##
%packages
@core
@server-policy
@workstation-policy
nfs-utils
%end
## Reboot After Installation ##
reboot --eject
#### Auto execute post install commands ####
%post --interpreter /bin/sh --log=/root/ks-post.log
(
## Enter post install commands here to execute prior to reboot
# Useful for performing something like the below example:
# Startup rpcbind for NFS
#service rpcbind start
# Mount admin share
#mount -vt nfs 10.1.2.3:/admin /mnt
# Create /root/scripts dir
#mkdir /root/scripts
# Copy the firstboot script to the new dir, set owner/permissions
#cp -v /mnt/deploy/firstboot/firstboot.sh /root/scripts/
#chown -Rv root:root /root/scripts
#chmod -Rv 700 /root/scripts
# Create line in rc.local to auto-execute the firstboot script
#echo "/root/scripts/firstboot.sh" >> /etc/rc.d/rc.local
# Un-mount admin share
#umount -v /mnt
)
%end
----
====== CentOS 7 Example Kickstart File (bios) ======
**Modify the encrypted root password before using.**
#### Title: CentOS 7 Generic Kickstart file for BIOS systems
#### Description: Uses /dev/sda, MBR, and LVM to prepare a CentOS minimal installed system.
########################################
#### CUSTOMIZE THESE SECTIONS BELOW ####
########################################
## Install Location ##
graphical
nfs --server=10.1.2.3 --dir=/iso/centos7.2-dvd
## Locale Settings ##
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
timezone America/Chicago --isUtc --ntpservers=x.x.x.x,x.x.x.x
## System Configuration ##
rootpw --iscrypted
#######################################
#### END OF CUSTOMIZATION SECTIONS ####
#######################################
## Networking ##
#network settings are inherited from the kernel image boot options in order to keep the kickstart generic
## System Configuration ##
auth --enableshadow --passalgo=sha512
eula --agreed
firewall --service=ssh
selinux --disabled
## Disk Partitioning ##
ignoredisk --only-use=sda
bootloader --location=mbr --boot-drive=sda
clearpart --all --initlabel --drives=sda
zerombr
# Physical Partitions #
part /boot --fstype="ext4" --ondisk=sda --size=512
part pv.01 --fstype="lvmpv" --ondisk=sda --grow --size=18512
# LVM Setup #
volgroup vglocal --pesize=4096 pv.01
logvol /tmp --fstype="ext4" --size=2048 --name=lvtmp --vgname=vglocal
logvol swap --fstype="swap" --size=8192 --name=lvswap --vgname=vglocal
logvol /home --fstype="ext4" --size=4096 --name=lvhome --vgname=vglocal
logvol / --fstype="ext4" --size=4096 --name=lvroot --vgname=vglocal
logvol /var --fstype="ext4" --size=4096 --name=lvvar --vgname=vglocal
## System services ##
services --enabled="chronyd"
## Packages to Install ##
%packages
@^minimal
@core
chrony
nfs-utils
%end
## KDUMP - Disable ##
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
## Reboot After Installation ##
reboot --eject
#### Auto execute post install commands ####
%post --interpreter /bin/sh --log=/root/ks-post.log
(
## Enter post install commands here to execute prior to reboot
# Useful for performing something like the below example:
# Startup rpcbind for NFS
#systemctl start rpcbind
# Mount admin share
#mount -vt nfs 10.1.2.3:/admin /mnt
# Create /root/scripts dir
#mkdir /root/scripts
# Copy the firstboot script to the new dir, set owner/permissions
#cp -v /mnt/deploy/firstboot/firstboot.sh /root/scripts/
#chown -Rv root:root /root/scripts
#chmod -Rv 700 /root/scripts
# Copy firstboot service unit to system, set owner/permissions
#cp -v /mnt/deploy/firstboot/firstboot.service /etc/systemd/system/
#chown -v root:root /etc/systemd/system/firstboot.service
#chmod -v 644 /etc/systemd/system/firstboot.service
# Enable firstboot service for next boot
#systemctl enable firstboot.service
# Un-mount admin share
#umount -v /mnt
)
%end
----
====== CentOS 6/7 EFI Kickstart ======
The only difference for EFI based systems in a kickstart file is the addition of a /boot/efi partition.
It is placed in the "Physical Partitions" section after the /boot partition.
# Physical Partitions #
part /boot --fstype="ext4" --ondisk=sda --size=512
part /boot/efi --fstype="efi" --ondisk=sda --size=512 --fsoptions="umask=0077,shortname=winnt"
part pv.01 --fstype="lvmpv" --ondisk=sda --grow --size=18512
----