[spin-kickstarts/f24] add PPC specific cloud kickstarts until anaconda rhbz 1303219 is fixed
by Peter Robinson
commit 3d38aa77152724ada14962b403d2db8b2415c8d8
Author: Peter Robinson <pbrobinson(a)gmail.com>
Date: Thu Mar 24 16:41:13 2016 +0000
add PPC specific cloud kickstarts until anaconda rhbz 1303219 is fixed
fedora-cloud-base-ppc.ks | 265 +++++++++++++++++++++++++++++++++++++++++++++
fedora-docker-base-ppc.ks | 89 +++++++++++++++
2 files changed, 354 insertions(+), 0 deletions(-)
---
diff --git a/fedora-cloud-base-ppc.ks b/fedora-cloud-base-ppc.ks
new file mode 100644
index 0000000..f57bf73
--- /dev/null
+++ b/fedora-cloud-base-ppc.ks
@@ -0,0 +1,265 @@
+# This is a basic Fedora 21 spin designed to work in OpenStack and other
+# private cloud environments. It's configured with cloud-init so it will
+# take advantage of ec2-compatible metadata services for provisioning ssh
+# keys. Cloud-init creates a user account named "fedora" with passwordless
+# sudo access. The root password is empty and locked by default.
+#
+# Note that unlike the standard F20 install, this image has /tmp on disk
+# rather than in tmpfs, since memory is usually at a premium.
+#
+# This kickstart file is designed to be used with ImageFactory (in Koji).
+#
+# To do a local build, you'll need to install ImageFactory. See
+# http://worknotes.readthedocs.org/en/latest/cloudimages.html for some notes.
+#
+# For a TDL file, I store one here:
+# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-ra...
+# (Koji generates one internally...what we really want is Koji to publish it statically)
+#
+# Once you have imagefactory and imagefactory-plugins installed, run:
+#
+# curl -O https://git.fedorahosted.org/cgit/fedora-atomic.git/plain/fedora-atomic-r...
+# tempfile=$(mktemp --suffix=.ks)
+# ksflatten -v F22 -c fedora-cloud-base.ks > ${tempfile}
+# imagefactory --debug base_image --file-parameter install_script ${tempfile} fedora-atomic-rawhide.tdl
+#
+
+cmdline
+lang en_US.UTF-8
+keyboard us
+timezone --utc Etc/UTC
+
+auth --useshadow --passalgo=sha512
+selinux --enforcing
+rootpw --lock --iscrypted locked
+user --name=none
+
+firewall --disabled
+
+bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8" --extlinux
+
+network --bootproto=dhcp --device=link --activate --onboot=on
+services --enabled=network,sshd,rsyslog,cloud-init,cloud-init-local,cloud-config,cloud-final
+
+zerombr
+clearpart --all
+part prepboot --fstype="prepboot" --size=4
+part / --size 3000 --fstype ext4 --grow
+
+%include fedora-repo.ks
+
+reboot
+
+# Package list.
+# FIXME: instLangs does not work, so there's a hack below
+# (see https://bugzilla.redhat.com/show_bug.cgi?id=1051816)
+# FIXME: instLangs bug has been fixed but now having instLangs
+# with an arg causes no langs to get installed because of BZ1262040
+# which yields the errors in BZ1261249. For now fix by not using
+# --instLangs at all
+#%packages --instLangs=en
+%packages
+
+kernel-core
+@^cloud-server-environment
+
+# rescue mode generally isn't useful in the cloud context
+-dracut-config-rescue
+
+# Some things from @core we can do without in a minimal install
+-biosdevname
+# Need to also add back plymouth in order to mask failure of
+# systemd-vconsole-setup.service. BZ#1272684. Comment out for now
+#-plymouth
+-NetworkManager
+-iprutils
+# Now that BZ#1199868 is fixed kbd really gets removed but it breaks
+# systemd-vconsole-setup.service on boot. Comment out for now
+#-kbd
+-uboot-tools
+-kernel
+-grub2
+
+%end
+
+
+
+%post --erroronfail
+
+# Create grub.conf for EC2. This used to be done by appliance creator but
+# anaconda doesn't do it. And, in case appliance-creator is used, we're
+# overriding it here so that both cases get the exact same file.
+# Note that the console line is different -- that's because EC2 provides
+# different virtual hardware, and this is a convenient way to act differently
+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 Fedora ($kv)" >> /boot/grub/grub.conf
+ echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
+ echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
+ echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
+ echo
+done
+
+
+#link grub.conf to menu.lst for ec2 to work
+echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
+ln -sf grub.conf /boot/grub/menu.lst
+ln -sf /boot/grub/grub.conf /etc/grub.conf
+
+# older versions of livecd-tools do not follow "rootpw --lock" line above
+# https://bugzilla.redhat.com/show_bug.cgi?id=964299
+passwd -l root
+# remove the user anaconda forces us to make
+userdel -r none
+
+# Kickstart specifies timeout in seconds; syslinux uses 10ths.
+# 0 means wait forever, so instead we'll go with 1.
+sed -i 's/^timeout 10/timeout 1/' /boot/extlinux/extlinux.conf
+
+# setup systemd to boot to the right runlevel
+echo -n "Setting default runlevel to multiuser text mode"
+rm -f /etc/systemd/system/default.target
+ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
+echo .
+
+# this is installed by default but we don't need it in virt
+# Commenting out the following for #1234504
+# rpm works just fine for removing this, no idea why dnf can't cope
+echo "Removing linux-firmware package."
+rpm -e linux-firmware
+
+# Remove firewalld; was supposed to be optional in F18+, but is pulled in
+# in install/image building.
+echo "Removing firewalld."
+# FIXME! clean_requirements_on_remove is the default with DNF, but may
+# not work when package was installed by Anaconda instead of command line.
+# Also -- check if this is still even needed with new anaconda -- disabled
+# firewall should _not_ pull in this package.
+# yum -C -y remove "firewalld*" --setopt="clean_requirements_on_remove=1"
+dnf -C -y erase "firewalld*"
+
+# Another one needed at install time but not after that, and it pulls
+# in some unneeded deps (like, newt and slang)
+echo "Removing authconfig."
+dnf -C -y erase authconfig
+
+# instlang hack. (Note! See bug referenced above package list)
+find /usr/share/locale -mindepth 1 -maxdepth 1 -type d -not -name en_US -exec rm -rf {} +
+localedef --list-archive | grep -v ^en_US | xargs localedef --delete-from-archive
+# this will kill a live system (since it's memory mapped) but should be safe offline
+mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
+build-locale-archive
+echo '%_install_langs C:en:en_US:en_US.UTF-8' >> /etc/rpm/macros.image-language-conf
+awk '(NF==0&&!done){print "override_install_langs='$LANG'";done=1}{print}' \
+ < /etc/yum.conf > /etc/yum.conf.new
+mv /etc/yum.conf.new /etc/yum.conf
+
+
+echo -n "Getty fixes"
+# although we want console output going to the serial console, we don't
+# actually have the opportunity to login there. FIX.
+# we don't really need to auto-spawn _any_ gettys.
+sed -i '/^#NAutoVTs=.*/ a\
+NAutoVTs=0' /etc/systemd/logind.conf
+
+echo -n "Network fixes"
+# initscripts don't like this file to be missing.
+# and https://bugzilla.redhat.com/show_bug.cgi?id=1204612
+cat > /etc/sysconfig/network << EOF
+NETWORKING=yes
+NOZEROCONF=yes
+DEVTIMEOUT=10
+EOF
+
+# 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-setup-link.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"
+PERSISTENT_DHCLIENT="yes"
+EOF
+
+# 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 .
+
+
+# Because memory is scarce resource in most cloud/virt environments,
+# and because this impedes forensics, we are differing from the Fedora
+# default of having /tmp on tmpfs.
+echo "Disabling tmpfs for /tmp."
+systemctl mask tmp.mount
+
+# make sure firstboot doesn't start
+echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
+
+# Uncomment this if you want to use cloud init but suppress the creation
+# of an "ec2-user" account. This will, in the absence of further config,
+# cause the ssh key from a metadata source to be put in the root account.
+#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
+#users: []
+#disable_root: 0
+#EOF
+
+echo "Removing random-seed so it's not the same in every image."
+rm -f /var/lib/random-seed
+
+echo "Cleaning old dnf repodata."
+# FIXME: clear history?
+dnf clean all
+truncate -c -s 0 /var/log/dnf.log
+truncate -c -s 0 /var/log/dnf.rpm.log
+
+echo "Import RPM GPG key"
+releasever=$(rpm -q --qf '%{version}\n' fedora-release)
+basearch=$(uname -i)
+rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+
+echo "Packages within this cloud image:"
+echo "-----------------------------------------------------------------------"
+rpm -qa
+echo "-----------------------------------------------------------------------"
+# Note that running rpm recreates the rpm db files which aren't needed/wanted
+rm -f /var/lib/rpm/__db*
+
+
+# This is a temporary workaround for
+# <https://bugzilla.redhat.com/show_bug.cgi?id=1147998>
+# where sfdisk seems to be messing up the mbr.
+# Long-term fix is to address this in anaconda directly and remove this.
+# <https://bugzilla.redhat.com/show_bug.cgi?id=1015931>
+dd if=/usr/share/syslinux/mbr.bin of=/dev/vda
+
+
+# FIXME: is this still needed?
+echo "Fixing SELinux contexts."
+touch /var/log/cron
+touch /var/log/boot.log
+chattr -i /boot/extlinux/ldlinux.sys
+/usr/sbin/fixfiles -R -a restore
+chattr +i /boot/extlinux/ldlinux.sys
+
+echo "Zeroing out empty space."
+# This forces the filesystem to reclaim space from deleted files
+dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
+rm -f /var/tmp/zeros
+echo "(Don't worry -- that out-of-space error was expected.)"
+
+# For trac ticket https://fedorahosted.org/cloud/ticket/128
+rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
+
+%end
+
diff --git a/fedora-docker-base-ppc.ks b/fedora-docker-base-ppc.ks
new file mode 100644
index 0000000..587765f
--- /dev/null
+++ b/fedora-docker-base-ppc.ks
@@ -0,0 +1,89 @@
+# This is a minimal Fedora install designed to serve as a Docker base image.
+#
+# To keep this image minimal it only installs English language. You need to change
+# yum configuration in order to enable other languages.
+#
+### Hacking on this image ###
+# This kickstart is processed using Anaconda-in-ImageFactory (via Koji typically),
+# but you can run imagefactory locally too.
+#
+# To do so, testing local changes, first you'll need a TDL file. I store one here:
+# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-ra...
+#
+# Then, once you have imagefactory and imagefactory-plugins installed, run:
+#
+# imagefactory --debug target_image --template /path/to/fedora-atomic-rawhide.tdl --parameter offline_icicle true --file-parameter install_script $(pwd)/fedora-docker-base.ks docker
+#
+
+cmdline
+bootloader --disabled
+timezone --isUtc --nontp Etc/UTC
+rootpw --lock --iscrypted locked
+user --name=none
+
+keyboard us
+zerombr
+clearpart --all
+part prepboot --fstype="prepboot" --size=4
+part / --size 3000 --fstype ext4
+network --bootproto=dhcp --device=link --activate --onboot=on
+reboot
+
+%packages --excludedocs --instLangs=en --nocore
+bash
+fedora-release
+rootfiles
+vim-minimal
+dnf
+dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
+sssd-client
+#fakesystemd #TODO: waiting for review https://bugzilla.redhat.com/show_bug.cgi?id=1118740
+-kernel
+
+
+%end
+
+%post --log=/tmp/anaconda-post.log
+# Set the language rpm nodocs transaction flag persistently in the
+# image yum.conf and rpm macros
+
+# remove the user anaconda forces us to make
+userdel -r none
+
+LANG="en_US"
+echo "%_install_lang $LANG" > /etc/rpm/macros.image-language-conf
+
+# Carry these configs for both dnf and yum for users who are calling
+# yum-deprecated directly. This will keep the experience between both
+# consistent
+awk '(NF==0&&!done){print "override_install_langs='$LANG'\ntsflags=nodocs";done=1}{print}' \
+ < /etc/yum.conf > /etc/yum.conf.new
+mv /etc/yum.conf.new /etc/yum.conf
+
+awk '(NF==0&&!done){print "override_install_langs='$LANG'\ntsflags=nodocs";done=1}{print}' \
+ < /etc/dnf/dnf.conf > /etc/dnf/dnf.conf.new
+mv /etc/dnf/dnf.conf.new /etc/dnf/dnf.conf
+
+echo "Import RPM GPG key"
+releasever=$(rpm -q --qf '%{version}\n' fedora-release)
+basearch=$(uname -i)
+rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+
+rm -f /usr/lib/locale/locale-archive
+
+#Setup locale properly
+localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
+
+rm -rf /var/cache/yum/*
+rm -f /tmp/ks-script*
+
+#Make it easier for systemd to run in Docker container
+cp /usr/lib/systemd/system/dbus.service /etc/systemd/system/
+sed -i 's/OOMScoreAdjust=-900//' /etc/systemd/system/dbus.service
+
+#Mask mount units and getty service so that we don't get login prompt
+systemctl mask systemd-remount-fs.service dev-hugepages.mount sys-fs-fuse-connections.mount systemd-logind.service getty.target console-getty.service
+
+rm -f /etc/machine-id
+
+%end
8 years, 1 month
[spin-kickstarts/f24] ppc: we need grub2 in cloud images
by Peter Robinson
commit fb5d41231c9c25eb92172304ba8e18316cf8d751
Author: Peter Robinson <pbrobinson(a)gmail.com>
Date: Thu Mar 24 17:25:05 2016 +0000
ppc: we need grub2 in cloud images
fedora-cloud-base-ppc.ks | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/fedora-cloud-base-ppc.ks b/fedora-cloud-base-ppc.ks
index f57bf73..16cf560 100644
--- a/fedora-cloud-base-ppc.ks
+++ b/fedora-cloud-base-ppc.ks
@@ -36,7 +36,7 @@ user --name=none
firewall --disabled
-bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8" --extlinux
+bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
network --bootproto=dhcp --device=link --activate --onboot=on
services --enabled=network,sshd,rsyslog,cloud-init,cloud-init-local,cloud-config,cloud-final
@@ -77,8 +77,8 @@ kernel-core
# systemd-vconsole-setup.service on boot. Comment out for now
#-kbd
-uboot-tools
+-syslinux-extlinux
-kernel
--grub2
%end
8 years, 1 month
[spin-kickstarts] add PPC specific cloud kickstarts until anaconda rhbz 1303219 is fixed
by Peter Robinson
commit 8571a5b71ee6fe5332cc171566e86b5a505228f2
Author: Peter Robinson <pbrobinson(a)gmail.com>
Date: Thu Mar 24 16:44:55 2016 +0000
add PPC specific cloud kickstarts until anaconda rhbz 1303219 is fixed
fedora-cloud-base-ppc.ks | 265 +++++++++++++++++++++++++++++++++++++++++++++
fedora-docker-base-ppc.ks | 89 +++++++++++++++
2 files changed, 354 insertions(+), 0 deletions(-)
---
diff --git a/fedora-cloud-base-ppc.ks b/fedora-cloud-base-ppc.ks
new file mode 100644
index 0000000..f57bf73
--- /dev/null
+++ b/fedora-cloud-base-ppc.ks
@@ -0,0 +1,265 @@
+# This is a basic Fedora 21 spin designed to work in OpenStack and other
+# private cloud environments. It's configured with cloud-init so it will
+# take advantage of ec2-compatible metadata services for provisioning ssh
+# keys. Cloud-init creates a user account named "fedora" with passwordless
+# sudo access. The root password is empty and locked by default.
+#
+# Note that unlike the standard F20 install, this image has /tmp on disk
+# rather than in tmpfs, since memory is usually at a premium.
+#
+# This kickstart file is designed to be used with ImageFactory (in Koji).
+#
+# To do a local build, you'll need to install ImageFactory. See
+# http://worknotes.readthedocs.org/en/latest/cloudimages.html for some notes.
+#
+# For a TDL file, I store one here:
+# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-ra...
+# (Koji generates one internally...what we really want is Koji to publish it statically)
+#
+# Once you have imagefactory and imagefactory-plugins installed, run:
+#
+# curl -O https://git.fedorahosted.org/cgit/fedora-atomic.git/plain/fedora-atomic-r...
+# tempfile=$(mktemp --suffix=.ks)
+# ksflatten -v F22 -c fedora-cloud-base.ks > ${tempfile}
+# imagefactory --debug base_image --file-parameter install_script ${tempfile} fedora-atomic-rawhide.tdl
+#
+
+cmdline
+lang en_US.UTF-8
+keyboard us
+timezone --utc Etc/UTC
+
+auth --useshadow --passalgo=sha512
+selinux --enforcing
+rootpw --lock --iscrypted locked
+user --name=none
+
+firewall --disabled
+
+bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8" --extlinux
+
+network --bootproto=dhcp --device=link --activate --onboot=on
+services --enabled=network,sshd,rsyslog,cloud-init,cloud-init-local,cloud-config,cloud-final
+
+zerombr
+clearpart --all
+part prepboot --fstype="prepboot" --size=4
+part / --size 3000 --fstype ext4 --grow
+
+%include fedora-repo.ks
+
+reboot
+
+# Package list.
+# FIXME: instLangs does not work, so there's a hack below
+# (see https://bugzilla.redhat.com/show_bug.cgi?id=1051816)
+# FIXME: instLangs bug has been fixed but now having instLangs
+# with an arg causes no langs to get installed because of BZ1262040
+# which yields the errors in BZ1261249. For now fix by not using
+# --instLangs at all
+#%packages --instLangs=en
+%packages
+
+kernel-core
+@^cloud-server-environment
+
+# rescue mode generally isn't useful in the cloud context
+-dracut-config-rescue
+
+# Some things from @core we can do without in a minimal install
+-biosdevname
+# Need to also add back plymouth in order to mask failure of
+# systemd-vconsole-setup.service. BZ#1272684. Comment out for now
+#-plymouth
+-NetworkManager
+-iprutils
+# Now that BZ#1199868 is fixed kbd really gets removed but it breaks
+# systemd-vconsole-setup.service on boot. Comment out for now
+#-kbd
+-uboot-tools
+-kernel
+-grub2
+
+%end
+
+
+
+%post --erroronfail
+
+# Create grub.conf for EC2. This used to be done by appliance creator but
+# anaconda doesn't do it. And, in case appliance-creator is used, we're
+# overriding it here so that both cases get the exact same file.
+# Note that the console line is different -- that's because EC2 provides
+# different virtual hardware, and this is a convenient way to act differently
+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 Fedora ($kv)" >> /boot/grub/grub.conf
+ echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
+ echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
+ echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
+ echo
+done
+
+
+#link grub.conf to menu.lst for ec2 to work
+echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
+ln -sf grub.conf /boot/grub/menu.lst
+ln -sf /boot/grub/grub.conf /etc/grub.conf
+
+# older versions of livecd-tools do not follow "rootpw --lock" line above
+# https://bugzilla.redhat.com/show_bug.cgi?id=964299
+passwd -l root
+# remove the user anaconda forces us to make
+userdel -r none
+
+# Kickstart specifies timeout in seconds; syslinux uses 10ths.
+# 0 means wait forever, so instead we'll go with 1.
+sed -i 's/^timeout 10/timeout 1/' /boot/extlinux/extlinux.conf
+
+# setup systemd to boot to the right runlevel
+echo -n "Setting default runlevel to multiuser text mode"
+rm -f /etc/systemd/system/default.target
+ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
+echo .
+
+# this is installed by default but we don't need it in virt
+# Commenting out the following for #1234504
+# rpm works just fine for removing this, no idea why dnf can't cope
+echo "Removing linux-firmware package."
+rpm -e linux-firmware
+
+# Remove firewalld; was supposed to be optional in F18+, but is pulled in
+# in install/image building.
+echo "Removing firewalld."
+# FIXME! clean_requirements_on_remove is the default with DNF, but may
+# not work when package was installed by Anaconda instead of command line.
+# Also -- check if this is still even needed with new anaconda -- disabled
+# firewall should _not_ pull in this package.
+# yum -C -y remove "firewalld*" --setopt="clean_requirements_on_remove=1"
+dnf -C -y erase "firewalld*"
+
+# Another one needed at install time but not after that, and it pulls
+# in some unneeded deps (like, newt and slang)
+echo "Removing authconfig."
+dnf -C -y erase authconfig
+
+# instlang hack. (Note! See bug referenced above package list)
+find /usr/share/locale -mindepth 1 -maxdepth 1 -type d -not -name en_US -exec rm -rf {} +
+localedef --list-archive | grep -v ^en_US | xargs localedef --delete-from-archive
+# this will kill a live system (since it's memory mapped) but should be safe offline
+mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
+build-locale-archive
+echo '%_install_langs C:en:en_US:en_US.UTF-8' >> /etc/rpm/macros.image-language-conf
+awk '(NF==0&&!done){print "override_install_langs='$LANG'";done=1}{print}' \
+ < /etc/yum.conf > /etc/yum.conf.new
+mv /etc/yum.conf.new /etc/yum.conf
+
+
+echo -n "Getty fixes"
+# although we want console output going to the serial console, we don't
+# actually have the opportunity to login there. FIX.
+# we don't really need to auto-spawn _any_ gettys.
+sed -i '/^#NAutoVTs=.*/ a\
+NAutoVTs=0' /etc/systemd/logind.conf
+
+echo -n "Network fixes"
+# initscripts don't like this file to be missing.
+# and https://bugzilla.redhat.com/show_bug.cgi?id=1204612
+cat > /etc/sysconfig/network << EOF
+NETWORKING=yes
+NOZEROCONF=yes
+DEVTIMEOUT=10
+EOF
+
+# 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-setup-link.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"
+PERSISTENT_DHCLIENT="yes"
+EOF
+
+# 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 .
+
+
+# Because memory is scarce resource in most cloud/virt environments,
+# and because this impedes forensics, we are differing from the Fedora
+# default of having /tmp on tmpfs.
+echo "Disabling tmpfs for /tmp."
+systemctl mask tmp.mount
+
+# make sure firstboot doesn't start
+echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
+
+# Uncomment this if you want to use cloud init but suppress the creation
+# of an "ec2-user" account. This will, in the absence of further config,
+# cause the ssh key from a metadata source to be put in the root account.
+#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
+#users: []
+#disable_root: 0
+#EOF
+
+echo "Removing random-seed so it's not the same in every image."
+rm -f /var/lib/random-seed
+
+echo "Cleaning old dnf repodata."
+# FIXME: clear history?
+dnf clean all
+truncate -c -s 0 /var/log/dnf.log
+truncate -c -s 0 /var/log/dnf.rpm.log
+
+echo "Import RPM GPG key"
+releasever=$(rpm -q --qf '%{version}\n' fedora-release)
+basearch=$(uname -i)
+rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+
+echo "Packages within this cloud image:"
+echo "-----------------------------------------------------------------------"
+rpm -qa
+echo "-----------------------------------------------------------------------"
+# Note that running rpm recreates the rpm db files which aren't needed/wanted
+rm -f /var/lib/rpm/__db*
+
+
+# This is a temporary workaround for
+# <https://bugzilla.redhat.com/show_bug.cgi?id=1147998>
+# where sfdisk seems to be messing up the mbr.
+# Long-term fix is to address this in anaconda directly and remove this.
+# <https://bugzilla.redhat.com/show_bug.cgi?id=1015931>
+dd if=/usr/share/syslinux/mbr.bin of=/dev/vda
+
+
+# FIXME: is this still needed?
+echo "Fixing SELinux contexts."
+touch /var/log/cron
+touch /var/log/boot.log
+chattr -i /boot/extlinux/ldlinux.sys
+/usr/sbin/fixfiles -R -a restore
+chattr +i /boot/extlinux/ldlinux.sys
+
+echo "Zeroing out empty space."
+# This forces the filesystem to reclaim space from deleted files
+dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
+rm -f /var/tmp/zeros
+echo "(Don't worry -- that out-of-space error was expected.)"
+
+# For trac ticket https://fedorahosted.org/cloud/ticket/128
+rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
+
+%end
+
diff --git a/fedora-docker-base-ppc.ks b/fedora-docker-base-ppc.ks
new file mode 100644
index 0000000..587765f
--- /dev/null
+++ b/fedora-docker-base-ppc.ks
@@ -0,0 +1,89 @@
+# This is a minimal Fedora install designed to serve as a Docker base image.
+#
+# To keep this image minimal it only installs English language. You need to change
+# yum configuration in order to enable other languages.
+#
+### Hacking on this image ###
+# This kickstart is processed using Anaconda-in-ImageFactory (via Koji typically),
+# but you can run imagefactory locally too.
+#
+# To do so, testing local changes, first you'll need a TDL file. I store one here:
+# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-ra...
+#
+# Then, once you have imagefactory and imagefactory-plugins installed, run:
+#
+# imagefactory --debug target_image --template /path/to/fedora-atomic-rawhide.tdl --parameter offline_icicle true --file-parameter install_script $(pwd)/fedora-docker-base.ks docker
+#
+
+cmdline
+bootloader --disabled
+timezone --isUtc --nontp Etc/UTC
+rootpw --lock --iscrypted locked
+user --name=none
+
+keyboard us
+zerombr
+clearpart --all
+part prepboot --fstype="prepboot" --size=4
+part / --size 3000 --fstype ext4
+network --bootproto=dhcp --device=link --activate --onboot=on
+reboot
+
+%packages --excludedocs --instLangs=en --nocore
+bash
+fedora-release
+rootfiles
+vim-minimal
+dnf
+dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
+sssd-client
+#fakesystemd #TODO: waiting for review https://bugzilla.redhat.com/show_bug.cgi?id=1118740
+-kernel
+
+
+%end
+
+%post --log=/tmp/anaconda-post.log
+# Set the language rpm nodocs transaction flag persistently in the
+# image yum.conf and rpm macros
+
+# remove the user anaconda forces us to make
+userdel -r none
+
+LANG="en_US"
+echo "%_install_lang $LANG" > /etc/rpm/macros.image-language-conf
+
+# Carry these configs for both dnf and yum for users who are calling
+# yum-deprecated directly. This will keep the experience between both
+# consistent
+awk '(NF==0&&!done){print "override_install_langs='$LANG'\ntsflags=nodocs";done=1}{print}' \
+ < /etc/yum.conf > /etc/yum.conf.new
+mv /etc/yum.conf.new /etc/yum.conf
+
+awk '(NF==0&&!done){print "override_install_langs='$LANG'\ntsflags=nodocs";done=1}{print}' \
+ < /etc/dnf/dnf.conf > /etc/dnf/dnf.conf.new
+mv /etc/dnf/dnf.conf.new /etc/dnf/dnf.conf
+
+echo "Import RPM GPG key"
+releasever=$(rpm -q --qf '%{version}\n' fedora-release)
+basearch=$(uname -i)
+rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
+
+rm -f /usr/lib/locale/locale-archive
+
+#Setup locale properly
+localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
+
+rm -rf /var/cache/yum/*
+rm -f /tmp/ks-script*
+
+#Make it easier for systemd to run in Docker container
+cp /usr/lib/systemd/system/dbus.service /etc/systemd/system/
+sed -i 's/OOMScoreAdjust=-900//' /etc/systemd/system/dbus.service
+
+#Mask mount units and getty service so that we don't get login prompt
+systemctl mask systemd-remount-fs.service dev-hugepages.mount sys-fs-fuse-connections.mount systemd-logind.service getty.target console-getty.service
+
+rm -f /etc/machine-id
+
+%end
8 years, 1 month
[spin-kickstarts/f24] desing-suite: increase recommended size
by Luya Tshimbalanga
commit 5b062b29c626b549788c65a3620d0c0c6c5f4258
Author: Luya Tshimbalanga <luya(a)kwetu.telus1603>
Date: Wed Mar 23 23:35:43 2016 -0700
desing-suite: increase recommended size
fedora-live-design_suite.ks | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/fedora-live-design_suite.ks b/fedora-live-design_suite.ks
index 71735fe..f29bbba 100644
--- a/fedora-live-design_suite.ks
+++ b/fedora-live-design_suite.ks
@@ -10,7 +10,7 @@
%include fedora-live-workstation.ks
# Size partition
-part / --size 10240
+part / --size 14336
%packages
# Switch to groups for design suite
8 years, 1 month
[spin-kickstarts] desing-suite: increase recommended size
by Luya Tshimbalanga
commit c3b80ffdca291624e73e0163fade01000d1a4bee
Author: Luya Tshimbalanga <luya(a)kwetu.telus1603>
Date: Wed Mar 23 23:35:43 2016 -0700
desing-suite: increase recommended size
fedora-live-design_suite.ks | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/fedora-live-design_suite.ks b/fedora-live-design_suite.ks
index 71735fe..f29bbba 100644
--- a/fedora-live-design_suite.ks
+++ b/fedora-live-design_suite.ks
@@ -10,7 +10,7 @@
%include fedora-live-workstation.ks
# Size partition
-part / --size 10240
+part / --size 14336
%packages
# Switch to groups for design suite
8 years, 1 month
Updates to spin-kickstarts don't seem to be used
by Bruno Wolff III
I made an update to the games spin ks file in the f24 branch on the 12th
to try to get it back under size again, but the compose process isn't using
a version of the ks with that change. I don't know if the f24 compose is
pulling from rawhide or if there is some manual gating process for pulling
in updates.
8 years, 1 month
[spin-kickstarts] make the arm KDE image 6.5G, needs more space
by Dennis Gilmore
commit 5ed2cb827f1efa8aa11a5f6476203de0924199fc
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Mar 14 20:34:33 2016 -0500
make the arm KDE image 6.5G, needs more space
Signed-off-by: Dennis Gilmore <dennis(a)ausil.us>
fedora-arm-kde.ks | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/fedora-arm-kde.ks b/fedora-arm-kde.ks
index 9227ec1..d85b5db 100644
--- a/fedora-arm-kde.ks
+++ b/fedora-arm-kde.ks
@@ -2,7 +2,7 @@
%include fedora-arm-xbase.ks
%include fedora-kde-packages.ks
-part / --size=5000 --fstype ext4
+part / --size=5632 --fstype ext4
%post
echo -n "Enabling initial-setup gui mode on startup"
8 years, 1 month
[spin-kickstarts/f24] make the arm KDE image 6.5G, needs more space
by Dennis Gilmore
commit 55890d6209a2c9f9be7b1f2e54f901ec08755b6c
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Mar 14 20:34:33 2016 -0500
make the arm KDE image 6.5G, needs more space
Signed-off-by: Dennis Gilmore <dennis(a)ausil.us>
fedora-arm-kde.ks | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/fedora-arm-kde.ks b/fedora-arm-kde.ks
index 9227ec1..d85b5db 100644
--- a/fedora-arm-kde.ks
+++ b/fedora-arm-kde.ks
@@ -2,7 +2,7 @@
%include fedora-arm-xbase.ks
%include fedora-kde-packages.ks
-part / --size=5000 --fstype ext4
+part / --size=5632 --fstype ext4
%post
echo -n "Enabling initial-setup gui mode on startup"
8 years, 1 month
F24 Alpha Reminder
by Dennis Gilmore
Hi all,
Please fix your spins, There are a lot that are failing to build for whatever
reason. If they are not fixed and working for Alpha they will not be shipped
in Fedora 24 and will need to be resubmitted.
Dennis
8 years, 1 month
[spin-kickstarts/f24] point at f24 repo
by Dennis Gilmore
commit 533fa0ccda73a8a7b6e519fabff1db6f58323612
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sun Mar 13 21:17:34 2016 -0500
point at f24 repo
Signed-off-by: Dennis Gilmore <dennis(a)ausil.us>
atomic-installer/lorax-configure-repo.tmpl | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/atomic-installer/lorax-configure-repo.tmpl b/atomic-installer/lorax-configure-repo.tmpl
index 9ad94dc..f76e13d 100644
--- a/atomic-installer/lorax-configure-repo.tmpl
+++ b/atomic-installer/lorax-configure-repo.tmpl
@@ -4,5 +4,5 @@
<%page args="ostree_osname, ostree_ref"/>
append usr/share/anaconda/interactive-defaults.ks "ostreesetup --nogpg --osname=${ostree_osname} --remote=${ostree_osname} --url=file:////run/install/repo/content/repo --ref=${ostree_ref}\n"
append usr/share/anaconda/interactive-defaults.ks "services --disabled cloud-init,cloud-config,cloud-final,cloud-init-local\n"
-append usr/share/anaconda/interactive-defaults.ks "%post --erroronfail\nrm -f /etc/ostree/remotes.d/${ostree_osname}.conf\nostree remote add --set=gpg-verify=false fedora-atomic 'https://dl.fedoraproject.org/pub/fedora/linux/atomic/22/'\n%end\n"
+append usr/share/anaconda/interactive-defaults.ks "%post --erroronfail\nrm -f /etc/ostree/remotes.d/${ostree_osname}.conf\nostree remote add --set=gpg-verify=false fedora-atomic 'https://dl.fedoraproject.org/pub/fedora/linux/atomic/24/'\n%end\n"
8 years, 1 month