#version=DEVEL logging --level=debug # System authorization information auth --useshadow --enablemd5 # Install OS instead of upgrade install # nfs line was here... # method=http://download.eng.brq.redhat.com/pub/fedora/fedora-alt/stage/23_RC3/Server/x86_64/os/ used on cmdline combined with url here causes problems: BZ 1079259 url --url="http://download.eng.brq.redhat.com/pub/fedora/fedora-alt/stage/23_RC3/Server/x86_64/os//" # repo lines were here... repo --name="f23" --baseurl="http://download.eng.brq.redhat.com/pub/fedora/fedora-alt/stage/23_RC3/Server/x86_64/os/" --cost=100 # Reboot after installation reboot ## Use text mode install text # Firewall configuration firewall --disabled firstboot --disable # Keyboard layouts # old format: keyboard us # new format: keyboard --vckeymap=us --xlayouts='us' keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information # TODO: this could take hostname as parameter (?) # hostname will change anyway in clones! #network --device eth0 --onboot yes --bootproto static --ip 192.168.144.70 --netmask 255.255.255.0 --gateway 192.168.144.1 --nameserver 192.168.144.1 --hostname stacker-f23-x86_64 network --onboot yes --device ens3 --bootproto dhcp --noipv6 # Root password rootpw stacker # SELinux configuration #selinux --enforcing # TODO: try with selinux later... selinux --disabled # System timezone timezone Europe/Prague # Partition clearing information clearpart --all --initlabel --drives=vda # Clear the Master Boot Record zerombr ignoredisk --only-use=vda,vdb # System bootloader configuration bootloader --location=mbr --boot-drive=vda --append="console=tty0 console=ttyS1,115200 sysrq_always_enabled" # Precisely define partitions: part /boot --size=512 --fstype=ext4 --ondisk=vda part swap --size=256 --ondisk=vda logvol / --vgname=vg_stacker_C271 --name=root --useexisting --fstype=ext4 --size=6144 --mkfsoptions="-O '^64bit'" %packages @core lvm2 device-mapper-persistent-data mdadm tar # needed later for extracting ROOT FS %end %pre --interpreter /bin/bash #!/bin/bash # enable SysRq during installation: echo 1 > /proc/sys/kernel/sysrq %end #%pre --interpreter /bin/bash ##!/bin/bash #{ #set -xv #pvcreate -f /dev/vdb #vgcreate vg_stacker_C271 /dev/vdb #lvcreate -n root -L 4G vg_stacker_C271 #} 2>&1 | tee /tmp/pre.out | tee /dev/console #%end %post --logfile /dev/console --interpreter /bin/bash #!/bin/bash # re-enable SysRq (just in case someone had a good idea to disable it) echo 1 > /proc/sys/kernel/sysrq set -x cat >/etc/profile.d/stacker.sh </dev/null 2>&1 || : #/sbin/chkconfig ntpd on >/dev/null 2>&1 || : #if [ -e "/etc/sysconfig/ntpd" ]; then # GOT_G=$(/bin/cat /etc/sysconfig/ntpd | grep -E '^OPTIONS' | grep '\-g') # # if [ -z "$GOT_G" ]; then # /bin/sed -i -r 's/(^OPTIONS\s*=\s*)(['\''|"])(.+)$/\1\2\-x \3 /' /etc/sysconfig/ntpd # fi #fi # # ## If efibootmgr exists then re-order boot options #if [ -x '/usr/sbin/efibootmgr' ]; then # BOOT=$(/usr/sbin/efibootmgr -v | grep BootOrder | awk '{print $2}' | awk -F, '{print $1}') # EFI=$(/usr/sbin/efibootmgr -v | grep Boot$BOOT | awk '{print $NF}') # PXE_SLOT=$(/usr/sbin/efibootmgr -v | grep -Ei '(netboot|pxe)' |head -n 1 |cut -c5-8) # # If There is no Netboot Entry we can't continue # # You have to manually setup a Netboot entry first # # from EFI maint menu. # if [ ! -z $PXE_SLOT ]; then # NEWBOOT=$(echo $BOOT| sed -e 's/$PXE_SLOT,//') # # its cheesy. but it works. # NEWBOOT=$(echo $NEWBOOT| sed -e 's/,$PXE_SLOT,//') # NEWBOOT=$(echo $NEWBOOT| sed -e 's/,$PXE_SLOT//') # /usr/sbin/efibootmgr -o $PXE_SLOT,$NEWBOOT # /usr/sbin/efibootmgr -n $BOOT # fi #fi cat <<"EOF" >/etc/yum.repos.d/f23.repo [f23] name=f23 baseurl=http://download.eng.brq.redhat.com/pub/fedora/fedora-alt/stage/23_RC3/Server/x86_64/os/ enabled=1 gpgcheck=0 skip_if_unavailable=1 EOF # fill the yum cache and redirect output to /dev/null # This speeds up yum because of a bug where it will update stdout too often. # http://lists.baseurl.org/pipermail/yum-devel/2011-December/008857.html dnf check-update > /dev/null 2>&1 || true # Get rid of HWADDR in ifcfg-ens3 - it will change when cloned sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-ens3 cat <<"EOF" >/usr/local/bin/set-hostname #!/bin/bash [[ -n $1 ]] || exit 1 #!/bin/bash [[ -n $1 ]] || exit 1 hostnamectl set-hostname "$1" EOF chmod 755 /usr/local/bin/set-hostname # [[ -x /usr/local/bin/set-hostname ]] && /usr/local/bin/set-hostname "" # Call home on every boot - I want ARP to get the IP address # NOTE: Seems the DNS query is not enough at least not when there are multiple # NICs. Had to log in to the machine and ping the interface cat >> /etc/rc.d/rc.local <<"END" #!/bin/bash i=0 while ! ping -c 1 192.168.144.1; do let 'i+=1' if [[ $i -gt 60 ]]; then break; fi sleep 1 done nohup bash -c "while ! ping -c 1 192.168.144.1; do sleep 1; done" & disown END chmod 755 /etc/rc.d/rc.local # This is causing troubles after cloning (on RHEL6 only): mv /etc/udev/rules.d/70-persistent-net.rules{,.backup} mkdir /etc/udev/rules.d/70-persistent-net.rules echo "This should prevent udev from recreating the rule." > /etc/udev/rules.d/70-persistent-net.rules/dummy chattr +i /etc/udev/rules.d/70-persistent-net.rules # TODO: common key? id_lvm.pub ? setup kerberos? :-/ mkdir -p /root/.ssh cat >>/root/.ssh/authorized_keys <<"__EOF__" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyRy1R/xFCfXlm3niTzV1mIMBODMSn0+ERlyEIk042naFdasiRo5+lmwUE6GZNSXQi7pl+tou269V8xMMk9KAkwbXhd7CiMTpnLwFTz5Nj+4QisktXjApTfcZfYz6q/byn7BWC+mz4K8HGcIFAB7xjXfp//8VIhpo904XNWQZVw2HM9kUL6qZ2dfrtqZeF5Xr4pu5NZp/avCPNyoKedn0M6VarLIZbSjFFf/hHIO6asfF2Xnz+YPXRABZ+0f6WENw94FQpH/Ky6z4jIx2/dddwzbz35Wy2Zp1IZ/X/ehp+UqX+L/BZE7vBzIYOSm2A3cnbQ+r8kHf2wJwoX4IfMwHJw== mcsontos@redhat.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvdKefsMUfMGgbOJdK9WoTyaahN4o2aFe3mtDnM/j3J/Odi/fJ5dr97kguJnyU3BvkV6c7kCHJGUo+XDTKeUOUV9O2R8SGdfbWeHIN6JEeJEoFmFEome2+E6Ey/QJ28zOLSFoENTauFemNEJwd4Lb+zNhdOchTzO/omlM9C76SrVLV2tmCpLjzmVkvfm0ESdbbqk6yI4D40mdN+3lAiSYSbiOXHk6EpfJ6HOuqcS76JxCZMEHlCBc+ta1s02s7Ddj1gQ/B1k9Ha41FfZmrYms8zUFdeimpioa/k48TjMBTBycIqRP19vYRPxSRrg/3oaLtF/trA46HrGXxQR62cJ3iQ== mcsontos@arthur ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0MZLDFlsUwr84g2r7ohASwHIOG4+hjrQaWcCx7P7UPtyiG6/VW5oCKdd2W6fGt2M7R83GMcEaC/3YDQMX0tcVVQvTK+ljZeCO20VkRcB03eg25h7j2wvItnutLcIDftFvPouf5/qRu2Y3JK8fk8LSxsBASqimkNrfb0NmyeKVoLegoh63V6dGSf0lm6xkm7dPhCdWVE7MMJO1WIiNl0p6UV22km+fpvSpwbrELZCia8/XUFvRCy8Kka6HuNR2Es3NtgkhDDZV9amTzHMHivxe8B0EgIwsZ7dZkJCNZM5gxlVMOGwHYxhvZvKAbL8YlvXhTLaq+0W3fK+GwhGBEG9Sw== root@cimrman.lab.eng.brq.redhat.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA+FeaOQ2n/2sC6Ly8IDgLqbyJv/gvQbiBn1f5d8c/R4VrDaBmHGnxE/UyY1SGvBeQDNetWxDcnYu2av0OOe44m+QF599qQYcc1uO+WQwh/r2Qob0/+GnVrl88lyvETeAC8YKHFMs/o6CmJFnQiYxvbyR+kBXUGnjbrKV6DEd1Mu4hTBzzb+gGM7sRF39GkM9CpR6dhpdzwLPWEjCxSGpOHabkwfjZE4LqlGlwSIyNVJ7Lzy48E/47BzT1ELTyCCCprBhDHRGCIPPY+V4T9LKYRRCCAo7nHR/mkWz/NvClf/WWUwNzbhKFrc2bOCn6kv2l+mOjenQlYWZFyh4D1NhG5w== stacker __EOF__ restorecon -R /root/.ssh chmod go-w /root /root/.ssh /root/.ssh/authorized_keys # TODO: make this an after-install step! Still needed to add /sbin/thin_check! cat <<"__EOF__" > /etc/dracut.conf.d/99alldm.conf # kernel/drivers/md # # Missing: # dm-crypt.ko # dm-multipath.ko # dm-round-robin.ko # dm-snapshot.ko # dm-zero.ko # linear.ko # raid0.ko # raid10.ko # raid1.ko # raid456.ko # # All: # dm-bio-prison.ko # dm-bufio.ko # dm-cache-cleaner.ko # dm-cache.ko # dm-cache-mq.ko # dm-crypt.ko # dm-delay.ko # dm-flakey.ko # dm-log.ko # dm-log-userspace.ko # dm-mirror.ko # dm-mod.ko # dm-multipath.ko # dm-queue-length.ko # dm-raid.ko # dm-region-hash.ko # dm-round-robin.ko # dm-service-time.ko # dm-snapshot.ko # dm-thin-pool.ko # dm-verity.ko # dm-zero.ko # faulty.ko # linear.ko # persistent-data # raid0.ko # raid10.ko # raid1.ko # raid456.ko add_drivers+=" dm_crypt dm_multipath dm_round_robin dm_snapshot dm_thin_pool linear raid0 raid10 raid1 raid456 dm_raid dm_mirror " add_drivers+=" dm-crypt dm-multipath dm-round-robin dm-snapshot dm-thin-pool dm-raid dm-mirror " add_drivers+=" dm-cache-mq dm-cache-cleaner " add_drivers+=" dm-service-time dm_service_time " add_drivers+=" virtio-scsi virtio_scsi " #$(if [[ f23 == f21 ]]; then # echo 'add_drivers+=" virtio-blk virtio_blk "' #fi) # Other missing modules: # kernel/crypto/async_tx/async_memcpy.ko # kernel/crypto/async_tx/async_pq.ko # kernel/crypto/async_tx/async_raid6_recov.ko # kernel/crypto/async_tx/async_tx.ko # kernel/crypto/async_tx/async_xor.ko # kernel/crypto/xor.ko # # kernel/drivers/scsi/fcoe/fcoe.ko # kernel/drivers/scsi/fcoe/libfcoe.ko # # kernel/drivers/scsi/libfc/libfc.ko # # kernel/drivers/scsi/libiscsi.ko # kernel/drivers/scsi/scsi_tgt.ko # kernel/drivers/scsi/scsi_transport_fc.ko # kernel/drivers/scsi/scsi_transport_iscsi.ko # # kernel/lib/raid6/raid6_pq.ko __EOF__ for k in $(rpm -q --qf "%%{version}-%%{release}.%%{arch}" kernel); do f=/boot/initramfs-$k.img lsinitrd $f > $f.orig.list cp $f $f.orig # keep original ramdisk images (in case...) dracut -f --install="/sbin/thin_check" $f $k 2>&1 | tee $f.out || exit $? lsinitrd $f > $f.list # Anaconda runs this: new-kernel-pkg --mkinitrd --dracut --depmod --update 3.16.0-0.rc2.git0.1.fc21.x86_64 done sed -i -e 's| rhgb||' -e 's| quiet||' /boot/grub2/grub.cfg echo ttyS0 >> /etc/securetty echo ttyS1 >> /etc/securetty echo "# Enable SysRq:" >> /etc/sysctl.conf echo "kernel.sysrq = 1" >> /etc/sysctl.conf dnf clean all true %end