diff options
author | Jonathan Bauer | 2018-02-22 11:56:53 +0100 |
---|---|---|
committer | Jonathan Bauer | 2018-02-22 11:56:53 +0100 |
commit | 9a02e1e0c28975de3b62405c6a17ca852a6174c2 (patch) | |
tree | 77fb21f34301b73bc7d8ab04d592a7aec47d8ce5 /http/centos/anaconda-ks.cfg | |
parent | anaconda: centos-7.4: do not set selinux to permissive during kickstart (diff) | |
download | packer-templates-9a02e1e0c28975de3b62405c6a17ca852a6174c2.tar.gz packer-templates-9a02e1e0c28975de3b62405c6a17ca852a6174c2.tar.xz packer-templates-9a02e1e0c28975de3b62405c6a17ca852a6174c2.zip |
anaconda: common kickstart file for centos-7.3 and centos-7.4
Diffstat (limited to 'http/centos/anaconda-ks.cfg')
-rw-r--r-- | http/centos/anaconda-ks.cfg | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/http/centos/anaconda-ks.cfg b/http/centos/anaconda-ks.cfg new file mode 100644 index 0000000..1026914 --- /dev/null +++ b/http/centos/anaconda-ks.cfg @@ -0,0 +1,55 @@ +install +text +reboot +url --mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os +lang en_US.UTF-8 +keyboard --vckeymap=de-nodeadkeys --xlayouts='de (nodeadkeys)' +timezone Europe/Berlin --isUtc --nontp +auth --enableshadow --passalgo=sha512 +clearpart --none --initlabel +bootloader --location=mbr --boot-drive=sda +part biosboot --fstype="biosboot" --ondisk=sda --size=1 +part / --fstype="xfs" --ondisk=sda --grow --label=SLX_SYS + +%packages +@^minimal +@core +kexec-tools +%end + +# small python script to extract the password from the kernel command line +# expects the password given as: rootpw=<password> +%pre --interpreter=/usr/bin/python +import shlex, crypt +arg = 'rootpw=' +with open('/proc/cmdline', 'r') as f: + kcl = f.read().split() +# extract the password +passwords = [x[len(arg):] for x in kcl if x.startswith(arg)] +if len(passwords) == 1: + kclpass = passwords[0] +# TODO sane fallbacks. This should work most of the time though :) +# generate SHA512 hash +hash = crypt.crypt(kclpass, crypt.mksalt(crypt.METHOD_SHA512)) +with open('/tmp/setup-root-pass', 'w') as f: + f.write('rootpw --iscrypted ' + hash) +%end +# include the created password file +%include /tmp/setup-root-pass + +%post --erroronfail +yum -y update +yum -y install epel-release +yum -y install ansible +yum -y update +# allow root login for ansible +sed 's,^[[:blank:]]*#*PermitRootLogin.*,PermitRootLogin yes,g' /etc/ssh/sshd_config + +ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules +cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF +DEVICE="eth0" +BOOTPROTO="dhcp" +ONBOOT="yes" +TYPE="Ethernet" +EOF +%end |