Date created: Monday, March 6, 2017 5:00:01 PM. Last modified: Saturday, December 28, 2024 12:20:02 PM
Kickstart Example
Example kickstart file for PXE booting CentOS 7:
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
#firewall --disabled
firewall --enable --service=ssh
# If using a minimal install the package system-config-firewall-base is not included by default,
# so it must be added out in the %packages section.
# Install OS instead of upgrade
install
# Use HTTP installation media
url --url="http://10.116.25.249/centos7_x64/"
# Root password [password is 000000]
rootpw --iscrypted $6$SdF2SElEebstC49Z$kjH8jJ6rqgmErwgxbdEP4eMKT9anAAnfrAoolSG/cJ7Fl1sZpnlfZ7fWL5KcvjhbAVXvcKTl2VW.dtAMCF4d/1
# Add user standard lab account
user --name=myadmin --groups=wheel --homedir=/home/myadmin --iscrypted --password='xxxxxxx' --shell=/bin/bash
# System services
services --enabled="chronyd"
services --enabled="rc-local"
# Network information
network --bootproto=dhcp --device=eno1 --onboot=on --ipv6=dhcp --hostname={{ ucpe.settings.hostname }}
# Example with static IPv4 and DHCP IPv6:
# network --bootproto=static --ip=10.116.25.250 --netmask=255.255.255.248 --gateway=10.116.25.249 --nameserver=10.116.25.249 --device=eno1 --onboot=on --ipv6=dhcp --hostname=ucpe_003
# Apart from the first device which is activated by default, all subsequent devices without --activate are disabled
# System authorization information
auth useshadow passalgo=sha512
# Use graphical install (a monitor can be attached for debugging purposes)
graphical
firstboot disable
# Keyboard layouts
keyboard --vckeymap=gb --xlayouts='gb'
# System language
lang en_GB.UTF-8
# Timezone
timezone Europe/London --isUtc
# SELinux configuration
##selinux disabled
# Installation logging level
logging --level=info
# System bootloader configuration - this machine is KVM hense the pstate/Iommu settings below
bootloader location=mbr --append="intel_pstate=disable iommu=pt intel_iommu=on"
# Erase any existing disk partitions
zerombr
clearpart --all --drives=sda,sdb --initlabel
# Size is in megabytes so 20GBs for / and 100MBs for /boot/efi
ignoredisk --only-use=sdb
part /boot/efi --fstype="efi" --ondisk=sdb --size=100 --fsoptions="umask=0077,shortname=winnt"
part / --fstype="ext4" --ondisk=sdb --size=20000
# Reboot at the end
reboot
%packages
@^minimal
@core
chrony
kexec-tools
%end
%post
# Download a config file for the first NIC on the system with a static IP configured
curl -o /etc/sysconfig/network-scripts/ifcfg-eno1 http://10.116.25.249/94-18-82-ab-ae-93-ifcfg-eno1
# Disable 169 addresses
echo "NOZEROCONF=yes" >> /etc/sysconfig/network
# Enabled IPv6
echo "NETWORKING_IPV6=yes" >> /etc/sysconfig/network
# Download any additional files or scripts that need to be on the remote device
curl -o /etc/rc.d/ens2f0-vfs.sh http://10.116.25.249/94-18-82-ab-ae-93-ens2f0-vfs.sh
curl -o /etc/rc.d/ens2f1-vfs.sh http://10.116.25.249/94-18-82-ab-ae-93-ens2f1-vfs.sh
# Make an HTTP POST back to a provisioning system (Ansible Tower in this example) to signal the end of the PXE install process
curl -k --data "host_config_key=xxxxxxxx" http://10.116.25.249/api/v1/job_templates/1/callback/
%end
#%packages
# @core
# wget
# net-tools
# %end
# %post
# %end
Previous page: keepalived
Next page: Kubernetes