Last active
September 12, 2021 09:56
-
-
Save szurcher/12a1546eb610e1e7ebb65b6feca468ac to your computer and use it in GitHub Desktop.
CentOS 7 Minimal kickstart file and Packer config.json for building a vagrant virtualbox base box with guest additions installed. Based off of https://www.centosblog.com/centos-7-minimal-kickstart-file/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"builders": [{ | |
"type": "virtualbox-iso", | |
"guest_os_type": "RedHat_64", | |
"iso_url": "[YOUR ISO PATH HERE]", | |
"iso_checksum": "[YOUR ISO CHECKSUM HERE]", | |
"iso_checksum_type": "sha256", | |
"ssh_username": "vagrant", | |
"ssh_password": "vagrant", | |
"ssh_wait_timeout": "1500s", | |
"boot_command": [ | |
"<esc>", | |
"<wait>linux inst.ks=hd:/dev/fd0:ks.cfg<enter>" | |
], | |
"boot_wait": "5s", | |
"disk_size": 100000, | |
"floppy_files": [ | |
"ks.cfg" | |
], | |
"hard_drive_interface": "sata", | |
"shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now", | |
"vboxmanage": [ | |
["modifyvm", "{{.Name}}", "--memory", "1024"] | |
] | |
}], | |
"provisioners": [{ | |
"type": "shell", | |
"inline": [ | |
"sleep 30", | |
"sudo mkdir /media/VBoxGuestAdditions", | |
"sudo mount -o loop,ro /home/vagrant/VBoxGuestAdditions.iso /media/VBoxGuestAdditions", | |
"sudo /bin/sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run", | |
"sudo umount /media/VBoxGuestAdditions", | |
"sudo rmdir /media/VBoxGuestAdditions" | |
] | |
}], | |
"post-processors": [{ | |
"type": "vagrant", | |
"keep_input_artifact": true, | |
"output": "centos_7_with_guestadditions.box" | |
}] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
install | |
cdrom | |
cmdline | |
lang en_US.UTF-8 | |
keyboard us | |
timezone Pacific/Honolulu | |
auth --useshadow --enablemd5 | |
firewall --enabled --ssh --http | |
services --enabled=NetworkManager,sshd | |
eula --agreed | |
ignoredisk --only-use=sda | |
reboot | |
network --bootproto=dhcp --device=enp0s3 --onboot=on --hostname=[YOUR HOSTNAME HERE] | |
bootloader --location=mbr | |
zerombr | |
clearpart --all --initlabel | |
part swap --asprimary --fstype="swap" --size=1024 | |
part /boot --fstype xfs --size=200 | |
part pv.01 --size=1 --grow | |
volgroup rootvg01 pv.01 | |
logvol / --fstype xfs --name=lv01 --vgname=rootvg01 --size=1 --grow | |
rootpw --iscrypted [PUT PASSWORD CRYPT HASH HERE] | |
user --name=vagrant --iscrypted --password=[PUT PASSWORD CRYPT HASH HERE] | |
repo --name=base --baseurl=http://mirror.cogentco.com/pub/linux/centos/7/os/x86_64/ | |
%packages --nobase --ignoremissing | |
@core | |
epel-release | |
dkms | |
kernel-devel | |
kernel-headers | |
make | |
automake | |
gcc | |
gcc-c++ | |
bzip2 | |
%end | |
%post | |
SUDOERS_FILE=sudoers | |
SSHD_CONFIG=sshd_config | |
cp /etc/${SUDOERS_FILE}{,.bak} | |
( | |
SUDOERS_FILE=sudoers | |
sed 's/^Defaults[[:space:]]\+requiretty/Defaults !requiretty/' /etc/${SUDOERS_FILE} > /tmp/${SUDOERS_FILE} | |
mv /tmp/${SUDOERS_FILE} /etc/${SUDOERS_FILE} | |
sed 's/^Defaults[[:space:]]\+!visiblepw/Defaults visiblepw/' /etc/${SUDOERS_FILE} > /tmp/${SUDOERS_FILE} | |
mv /tmp/${SUDOERS_FILE} /etc/${SUDOERS_FILE} | |
) | |
chown root:root /etc/${SUDOERS_FILE} | |
chmod 0660 /etc/${SUDOERS_FILE} | |
echo "vagrant ALL = (ALL) NOPASSWD: ALL" >> /etc/${SUDOERS_FILE} | |
( | |
mkdir /home/vagrant/.ssh | |
chmod 0700 /home/vagrant/.ssh | |
cd /home/vagrant/.ssh | |
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > authorized_keys | |
chmod 0600 authorized_keys | |
chown vagrant:vagrant authorized_keys | |
cd /home/vagrant | |
chown vagrant:vagrant /home/vagrant/.ssh | |
) | |
( | |
SSHD_CONFIG=sshd_config | |
sed 's/^[[:space:]]*#*UseDNS[[:space:]]\+yes/UseDNS no/' /etc/ssh/${SSHD_CONFIG} > /tmp/${SSHD_CONFIG} | |
mv /tmp${SSHD_CONFIG} /etc/ssh/${SSHD_CONFIG} | |
) | |
chown root:root /etc/ssh/${SSHD_CONFIG} | |
chmod 0600 /etc/ssh/${SSHD_CONFIG} | |
%end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I switched it from .cfg to .ks for centos7
inst.ks=hd:fd0:/kickstart.ks