summaryrefslogtreecommitdiffstats
path: root/http/centos-7.4/anaconda-ks.cfg
blob: 10269147c49b17e69392f57c713599ac66505123 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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