#version=DEVEL # Keyboard layouts keyboard --vckeymap=us # Root password rootpw --plaintext vagrant # System language lang en_US # Shutdown after installation shutdown user --name=vagrant --password=vagrant # System timezone timezone UTC --isUtc # Use text mode install text # Network information network --bootproto=dhcp --device=link --activate repo --name="plus" --baseurl=http://dl.rockylinux.org/pub/rocky/8/plus/$basearch/os # Use network installation url --url="https://download.rockylinux.org/stg/rocky/8/BaseOS/$basearch/os/" # Firewall configuration firewall --disabled # Do not configure the X Window System skipx # System services services --enabled="vmtoolsd" # System bootloader configuration bootloader --append="no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 elevator=noop rd.lvm.vg=rocky rd.lvm.lv=rocky/root" --location=mbr --timeout=1 # Disk partitioning information part /boot/efi --fstype="efi" --onpart=vda1 part /boot --fstype="xfs" --label=boot --onpart=vda2 part prepboot --fstype="prepboot" --onpart=vda3 part biosboot --fstype="biosboot" --onpart=vda4 part pv.01 --grow --size=1 --onpart=vda5 volgroup rocky pv.01 logvol / --grow --size=8000 --mkfsoptions="-m bigtime=0,inobtcount=0" --name=root --vgname=rocky %pre # Clear the Master Boot Record dd if=/dev/zero of=/dev/vda bs=512 count=1 # Create a new GPT partition table parted /dev/vda mklabel gpt # Create a partition for /boot/efi parted /dev/vda mkpart primary fat32 1MiB 100MiB parted /dev/vda set 1 boot on # Create a partition for /boot parted /dev/vda mkpart primary xfs 100MiB 1100MiB # Create a partition for prep parted /dev/vda mkpart primary 1100MiB 1104MiB # Create a partition for bios_grub parted /dev/vda mkpart primary 1104MiB 1105MiB # Create a partition for LVM parted /dev/vda mkpart primary ext2 1106MiB 10.7GB parted /dev/vda set 5 lvm on %end %post # Attempting to force legacy BIOS boot if we boot from UEFI if [ "$(arch)" = "x86_64" ]; then dnf install grub2-pc-modules grub2-pc -y grub2-install --target=i386-pc /dev/vda fi # Ensure that the pmbr_boot flag is off parted /dev/vda disk_set pmbr_boot off # configure swap to a file fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile echo "/swapfile none swap defaults 0 0" >> /etc/fstab # sudo echo "%vagrant ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/vagrant chmod 0440 /etc/sudoers.d/vagrant # Fix for https://github.com/CentOS/sig-cloud-instance-build/issues/38 cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF DEVICE="eth0" BOOTPROTO="dhcp" ONBOOT="yes" TYPE="Ethernet" PERSISTENT_DHCLIENT="yes" EOF # sshd: disable password authentication and DNS checks ex -s /etc/ssh/sshd_config <>/etc/sysconfig/sshd <> /home/vagrant/.ssh/authorized_keys chmod 600 /home/vagrant/.ssh/authorized_keys chown -R vagrant:vagrant /home/vagrant/.ssh # Fix for issue #76, regular users can gain admin privileges via su ex -s /etc/pam.d/su <<'EOF' # allow vagrant to use su, but prevent others from becoming root or vagrant /^account\s\+sufficient\s\+pam_succeed_if.so uid = 0 use_uid quiet$/ :append account [success=1 default=ignore] \\ pam_succeed_if.so user = vagrant use_uid quiet account required pam_succeed_if.so user notin root:vagrant . :update :quit EOF # systemd should generate a new machine id during the first boot, to # avoid having multiple Vagrant instances with the same id in the local # network. /etc/machine-id should be empty, but it must exist to prevent # boot errors (e.g. systemd-journald failing to start). :>/etc/machine-id echo 'vag' > /etc/yum/vars/infra # Blacklist the floppy module to avoid probing timeouts echo blacklist floppy > /etc/modprobe.d/nofloppy.conf chcon -u system_u -r object_r -t modules_conf_t /etc/modprobe.d/nofloppy.conf # Customize the initramfs pushd /etc/dracut.conf.d # Enable VMware PVSCSI support for VMware Fusion guests. echo 'add_drivers+=" vmw_pvscsi "' > vmware-fusion-drivers.conf echo 'add_drivers+=" hv_netvsc hv_storvsc hv_utils hv_vmbus hid-hyperv "' > hyperv-drivers.conf # There's no floppy controller, but probing for it generates timeouts echo 'omit_drivers+=" floppy "' > nofloppy.conf popd # Fix the SELinux context of the new files restorecon -f - <