Skip to content

Instantly share code, notes, and snippets.

@cavemandaveman
Last active October 16, 2022 14:21
Show Gist options
  • Save cavemandaveman/3eec19420edd3011db119587eed91ae5 to your computer and use it in GitHub Desktop.
Save cavemandaveman/3eec19420edd3011db119587eed91ae5 to your computer and use it in GitHub Desktop.
Kickstart file for a minimal CentOS 7
# version=RHEL7
#
# To be used with CentOS 7 Minimal ISO
# Syntax: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-syntax
#
# Use remote url installation media with text installer
install
url --url="http://mirror.centos.org/centos/7/os/x86_64/"
text
# Poweroff after install
poweroff
# Install on primary disk
ignoredisk --only-use=sda
# Suppress Unsupported Hardware Detected alerts
unsupported_hardware
# System language
lang en_US
# Keyboard layout
keyboard --vckeymap=us
# System authorization information
auth --enableshadow --passalgo=sha512
# Root account lock
rootpw --lock
# Initial admin user
# See https://serverfault.com/a/330072 for how to create hashed password
user --name=admin --groups=wheel --password=$6$Ag7lntJkDsuCKzHE$yvYJWK04uJc5ZJq5zGFKMJqIOybBvt4PXUFPrWTzU58qmfvuh8qRPE9J90uj2KRmLATvpq/OENKNtUilh218I1 --iscrypted
# Network information
network --device=link --bootproto=dhcp --onboot=yes --noipv6 --activate
# System timezone
timezone America/Chicago --utc --nontp
# Configure bootloader
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel --drives=sda
zerombr
# Disk partitioning information
part /boot --fstype=xfs --ondisk=sda --size=512 --label=boot
part pv.01 --ondisk=sda --grow
volgroup vg_sys pv.01
logvol swap --fstype=swap --size=512 --name=lv_swap --vgname=vg_sys
logvol / --fstype=xfs --percent=50 --label=lv_root --name=lv_root --vgname=vg_sys
logvol /home --fstype=xfs --percent=10 --label=lv_home --name=lv_home --vgname=vg_sys
logvol /tmp --fstype=xfs --percent=20 --label=lv_tmp --name=lv_tmp --vgname=vg_sys
logvol /var --fstype=xfs --percent=20 --label=lv_var --name=lv_var --vgname=vg_sys
# Install minimal required packages
%packages --nobase --nocore --excludedocs
@core --nodefaults
qemu-guest-agent
%end
# Make admin sudo, update packages, and install newest long-term kernel
%post
echo "admin ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
yum update -y
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
sed -i 's/GRUB_DEFAULT=.*/GRUB_DEFAULT=0/g' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
%end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment