Created
July 27, 2021 06:13
-
-
Save ooraini/9e11b91fd3df976502f2763923d01d4b to your computer and use it in GitHub Desktop.
CentOS-Stream-GenericCloud-8-20210603.0.x86_64.anaconda-ks.cfg
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
# The output of `virt-cat -a CentOS-Stream-GenericCloud-8-20210603.0.x86_64.qcow2 /root/anaconda-ks.cfg` | |
#version=RHEL8 | |
# Shutdown after installation | |
shutdown | |
# Use text mode install | |
text | |
repo --name="koji-override-0" --baseurl=http://qa.centos.org/centos/8-stream/BaseOS/x86_64/os/ | |
repo --name="koji-override-1" --baseurl=http://qa.centos.org/centos/8-stream/AppStream/x86_64/os/ | |
repo --name="AppStream" --baseurl=http://qa.centos.org/centos/8-stream/AppStream/x86_64/os | |
%post --erroronfail | |
passwd -d root | |
passwd -l root | |
# pvgrub support | |
echo -n "Creating grub.conf for pvgrub" | |
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab ) | |
mkdir /boot/grub | |
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf | |
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do | |
echo "title CentOS Stream 8 ($kv)" >> /boot/grub/grub.conf | |
echo -e "\troot (hd0)" >> /boot/grub/grub.conf | |
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf | |
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf | |
echo | |
done | |
ln -sf grub.conf /boot/grub/menu.lst | |
ln -sf /boot/grub/grub.conf /etc/grub.conf | |
# setup systemd to boot to the right runlevel | |
rm -f /etc/systemd/system/default.target | |
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target | |
echo . | |
dnf -C -y remove linux-firmware | |
# Remove firewalld; it is required to be present for install/image building. | |
# but we dont ship it in cloud | |
dnf -C -y remove firewalld --setopt="clean_requirements_on_remove=1" | |
dnf -C -y remove avahi\* | |
sed -i '/^#NAutoVTs=.*/ a\ | |
NAutoVTs=0' /etc/systemd/logind.conf | |
cat > /etc/sysconfig/network << EOF | |
NETWORKING=yes | |
NOZEROCONF=yes | |
EOF | |
# Remove build-time resolvers to fix #16948 | |
echo > /etc/resolv.conf | |
# For cloud images, 'eth0' _is_ the predictable device name, since | |
# we don't want to be tied to specific virtual (!) hardware | |
rm -f /etc/udev/rules.d/70* | |
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules | |
# simple eth0 config, again not hard-coded to the build hardware | |
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF | |
DEVICE="eth0" | |
BOOTPROTO="dhcp" | |
ONBOOT="yes" | |
TYPE="Ethernet" | |
USERCTL="yes" | |
PEERDNS="yes" | |
IPV6INIT="no" | |
PERSISTENT_DHCLIENT="1" | |
EOF | |
echo "virtual-guest" > /etc/tuned/active_profile | |
# generic localhost names | |
cat > /etc/hosts << EOF | |
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 | |
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 | |
EOF | |
echo . | |
systemctl mask tmp.mount | |
cat <<EOL > /etc/sysconfig/kernel | |
# UPDATEDEFAULT specifies if new-kernel-pkg should make | |
# new kernels the default | |
UPDATEDEFAULT=yes | |
# DEFAULTKERNEL specifies the default kernel package type | |
DEFAULTKERNEL=kernel | |
EOL | |
# make sure firstboot doesn't start | |
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot | |
# centos cloud user | |
echo -e 'centos\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers | |
sed -i 's/name: cloud-user/name: centos/g' /etc/cloud/cloud.cfg | |
dnf clean all | |
# XXX instance type markers - MUST match CentOS Infra expectation | |
echo 'genclo' > /etc/yum/vars/infra | |
# chance dhcp client retry/timeouts to resolve #6866 | |
cat >> /etc/dhcp/dhclient.conf << EOF | |
timeout 300; | |
retry 60; | |
EOF | |
rm -rf /var/log/yum.log | |
rm -rf /var/lib/yum/* | |
rm -rf /root/install.log | |
rm -rf /root/install.log.syslog | |
rm -rf /root/anaconda-ks.cfg | |
rm -rf /var/log/anaconda* | |
rm -f /var/lib/systemd/random-seed | |
cat /dev/null > /etc/machine-id | |
echo "Fixing SELinux contexts." | |
touch /var/log/cron | |
touch /var/log/boot.log | |
mkdir -p /var/cache/yum | |
/usr/sbin/fixfiles -R -a restore ||: | |
# reorder console entries | |
sed -i 's/console=tty0/console=tty0 console=ttyS0,115200n8/' /boot/grub2/grub.cfg | |
true | |
%end | |
%packages | |
@core | |
NetworkManager | |
centos-release | |
chrony | |
cloud-init | |
cloud-utils-growpart | |
cockpit-system | |
cockpit-ws | |
dhcp-client | |
dnf | |
dnf-utils | |
dracut-config-generic | |
dracut-norescue | |
firewalld | |
gdisk | |
grub2 | |
kernel | |
kexec-tools | |
nfs-utils | |
python3-jsonschema | |
qemu-guest-agent | |
rng-tools | |
rsync | |
tar | |
yum | |
yum-utils | |
-aic94xx-firmware | |
-alsa-firmware | |
-alsa-lib | |
-alsa-tools-firmware | |
-biosdevname | |
-iprutils | |
-ivtv-firmware | |
-iwl100-firmware | |
-iwl1000-firmware | |
-iwl105-firmware | |
-iwl135-firmware | |
-iwl2000-firmware | |
-iwl2030-firmware | |
-iwl3160-firmware | |
-iwl3945-firmware | |
-iwl4965-firmware | |
-iwl5000-firmware | |
-iwl5150-firmware | |
-iwl6000-firmware | |
-iwl6000g2a-firmware | |
-iwl6000g2b-firmware | |
-iwl6050-firmware | |
-iwl7260-firmware | |
-langpacks-* | |
-langpacks-en | |
-libertas-sd8686-firmware | |
-libertas-sd8787-firmware | |
-libertas-usb8388-firmware | |
-plymouth | |
%end | |
# Keyboard layouts | |
keyboard --vckeymap=us --xlayouts='us' | |
# System language | |
lang en_US.UTF-8 | |
# Firewall configuration | |
firewall --enabled --service=ssh | |
# Network information | |
network --bootproto=dhcp --device=link --activate | |
network --bootproto=dhcp --device=link --hostname=localhost.localdomain | |
# Use network installation | |
url --url="http://qa.centos.org/centos/8-stream/BaseOS/x86_64/os/" | |
# System authorization information | |
auth --enableshadow --passalgo=sha512 | |
# SELinux configuration | |
selinux --enforcing | |
firstboot --disable | |
# Do not configure the X Window System | |
skipx | |
# System services | |
services --disabled="kdump" --enabled="NetworkManager,sshd,rsyslog,chronyd,cloud-init,cloud-init-local,cloud-config,cloud-final,rngd" | |
ignoredisk --only-use=vda | |
# System bootloader configuration | |
bootloader --append="console=ttyS0,115200n8 no_timer_check net.ifnames=0 crashkernel=auto" --location=mbr --timeout=1 --boot-drive=vda | |
# Clear the Master Boot Record | |
zerombr | |
# Partition clearing information | |
clearpart --all --initlabel | |
# Disk partitioning information | |
part / --fstype="xfs" --ondisk=vda --size=8000 | |
# System timezone | |
timezone UTC --isUtc | |
# Root password | |
rootpw --iscrypted thereisnopasswordanditslocked | |
%addon com_redhat_kdump --enable --reserve-mb='auto' | |
%end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment