diff --git a/fedora-cloud-atomic.ks b/fedora-cloud-atomic.ks index 42fed30..c8caf28 100644 --- a/fedora-cloud-atomic.ks +++ b/fedora-cloud-atomic.ks @@ -26,22 +26,37 @@ clearpart --all # Atomic differs from cloud - we want LVM autopart -<<<<<<< HEAD ostreesetup --nogpg --osname=fedora-atomic-host --remote=installmedia --url=http://compose-x86-02.phx2.fedoraproject.org/compose/atomic/ --ref=fedora-atomic/f21/x86_64/docker-host reboot -======= -# Equivalent of %include fedora-repo.ks -ostreesetup --nogpg --osname=fedora-atomic-host --remote=installmedia --url=http://kojipkgs.fedoraproject.org/mash/atomic/ --ref=fedora-atomic/rawhide/x86_64/docker-host - -reboot - ->>>>>>> origin %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 @@ -52,11 +67,31 @@ userdel -r none # 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 . + # If you want to remove rsyslog and just use journald, remove this! echo -n "Disabling persistent journal" rmdir /var/log/journal/ echo . +# this is installed by default but we don't need it in virt +echo "Removing linux-firmware package." +yum -C -y remove linux-firmware + +# Remove firewalld; was supposed to be optional in F18+, but is required to +# be present for install/image building. +echo "Removing firewalld." +yum -C -y remove firewalld --setopt="clean_requirements_on_remove=1" + +# Another one needed at install time but not after that, and it pulls +# in some unneeded deps (like, newt and slang) +echo "Removing authconfig." +yum -C -y remove authconfig --setopt="clean_requirements_on_remove=1" + 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. @@ -131,6 +166,15 @@ echo "-----------------------------------------------------------------------" # Note that running rpm recreates the rpm db files which aren't needed/wanted rm -f /var/lib/rpm/__db* + +echo "Fixing SELinux contexts." +touch /var/log/cron +touch /var/log/boot.log +mkdir -p /var/cache/yum +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 || : diff --git a/fedora-cloud-bigdata.ks b/fedora-cloud-bigdata.ks deleted file mode 100644 index b8315bb..0000000 --- a/fedora-cloud-bigdata.ks +++ /dev/null @@ -1,219 +0,0 @@ -# This is a Fedora 21 spin designed based on the Fedora Cloud Base Image -# but tailored specifically for Big Data processing out-of-the-box. -# Primarily, it builds on that image but adds extra packages, but over -# time may have additional focus. -# -# 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. - -text -lang en_US.UTF-8 -keyboard us -timezone --utc Etc/UTC - -auth --useshadow --enablemd5 -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=eth0 --activate --onboot=on -services --enabled=network,sshd,rsyslog,cloud-init,cloud-init-local,cloud-config,cloud-final - -zerombr -clearpart --all -part / --size 3000 --fstype ext4 - -%include fedora-repo.ks - - -reboot - -# Package list. -%packages - -fedora-release-cloud - -kernel-core -@core -@cloud-server - -# Needed initially, but removed below. -firewalld - -# 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 --plymouth --NetworkManager --iprutils --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 . - -# If you want to remove rsyslog and just use journald, remove this! -echo -n "Disabling persistent journal" -rmdir /var/log/journal/ -echo . - -# this is installed by default but we don't need it in virt -echo "Removing linux-firmware package." -yum -C -y remove linux-firmware - -# Remove firewalld; was supposed to be optional in F18+, but is required to -# be present for install/image building. -echo "Removing firewalld." -yum -C -y remove firewalld --setopt="clean_requirements_on_remove=1" - -# Another one needed at install time but not after that, and it pulls -# in some unneeded deps (like, newt and slang) -echo "Removing authconfig." -yum -C -y remove authconfig --setopt="clean_requirements_on_remove=1" - -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. -cat > /etc/sysconfig/network << EOF -NETWORKING=yes -NOZEROCONF=yes -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 < /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 yum repodata." -yum history new -yum clean all -truncate -c -s 0 /var/log/yum.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* - - -echo "Fixing SELinux contexts." -touch /var/log/cron -touch /var/log/boot.log -mkdir -p /var/cache/yum -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.)" - -%end - diff --git a/fedora-docker-base.ks b/fedora-docker-base.ks index 5d1fc85..78e5b93 100644 --- a/fedora-docker-base.ks +++ b/fedora-docker-base.ks @@ -13,10 +13,7 @@ firewall --disable zerombr clearpart --all part / --size 3000 --fstype ext4 -<<<<<<< HEAD network --bootproto=dhcp --device=link --activate --onboot=on -======= ->>>>>>> origin reboot %packages --excludedocs --instLangs=en --nocore diff --git a/fedora-install-workstation.ks b/fedora-install-workstation.ks index bf235e0..0ac874a 100644 --- a/fedora-install-workstation.ks +++ b/fedora-install-workstation.ks @@ -25,8 +25,6 @@ repo --name=fedora-source --mirrorlist=http://mirrors.fedoraproject.org/mirrorl %include fedora-workstation-packages.ks -%include fedora-workstation-packages.ks - # Package manifest for the compose. Uses repo group metadata to translate groups. # (default groups for the configured repos are added by --default) # @base got renamed to @standard, but @base is still included by default by pungi. diff --git a/fedora-live-design_suite.ks b/fedora-live-design_suite.ks index 549271f..c39da21 100644 --- a/fedora-live-design_suite.ks +++ b/fedora-live-design_suite.ks @@ -16,9 +16,6 @@ part / --size 8192 # graphics blender -# add blender plugins -LuxRender-blender -YafaRay-blender bluefish #cinepaint cmyktool @@ -28,7 +25,6 @@ entangle fontforge font-manager gimp -gimp-elsamuko gimp-*-plugin gimp-data-extras gimp-gap @@ -38,7 +34,7 @@ gimp-normalmap gimp-resynthesizer gimp-separate+ gpick -gmic-gimp +GREYCstoration-gimp hugin mypaint inkscape